드루팔 cron.php을 익명(Anonymous) 아닌 특정 권한으로 실행하는 방법

드루팔 cron.php을 익명(Anonymous) 아닌 특정 권한으로 실행하는 방법을 소개한다.
참고 : http://drupal.org/node/479948#comment-1673488

아래 쉘스크립트로 실행하면 된다.
*** 부분들만 적절하게 상황에 맞추어 수정할 것.

#!/bin/sh

site=http://***yoursite***/
name=***someusername***
pass=***someverysecurepassword***

cookies=/tmp/cron-cookies.txt

wget -O /dev/null --save-cookies /tmp/site-cookies.txt --keep-session-cookies --load-cookies $cookies "${site}user"
wget --keep-session-cookies --save-cookies $cookies --load-cookies $cookies -O /dev/null --post-data="name=$name&pass=$pass&op=Log%20in&form_id=user_login" "${site}user"
wget --keep-session-cookies --save-cookies $cookies --load-cookies $cookies "${site}cron.php"

드루지기는 문제없이 잘 적용됐는데, 위 참고출처에서는 "Invalid Null Command"이라는 에러를 만난 경우도 있는 것 같다.

Your rating: None 평균 : 4 (1 vote)


드루지기님 항상 좋은 정보 감사 합니다.

참고 해서 개발하고 있는 멀티 사이트에 개별적인 크론 설정을 성공했습니다.
그런데 신기하게도 드루팔 로그에 크론 로그가 남지 않고 실행이 되네요.
이 부분은 좀 더 확인해봐야겠습니다.

로그에 남기기 위해서

실행되는 php 페이지 소스에
watchdog 함수를 사용해서 직접 로그를 남기도록 해결 했습니다.