linux crond 不工作
我有一個用於創建縮略圖的 cronjob。該文件夾
/var/www/html/work/
有權限744
(我認為744比777更安全)crontabs
* * * * * /usr/bin/php /var/www/html/work/images.php
腳本
$newstore = dirname(__FILE__) . '/images/.$data->name.'jpg'; $width = (int)($data->width); $height = (int)($data->height); $desired_width = round((300*$width)/$height); $desired_height = 300; $virtual_image = imagecreatetruecolor($desired_width, $desired_height); imagecopyresized($virtual_image,$source_image,0,0,0,0,$desired_width,$desired_height,$width,$height); imagejpeg($virtual_image,$newstore);
編輯
在瀏覽器部分。我已經登錄了
phpmyadmin
withroot
,所以當我嘗試時localhost/work/images.php
,它執行良好。, and works in
/usr/bin/php /var/www/html/work/images.phpin
PuTTY SSH`。但工作失敗了
crond
。我已經重啟service crond restart
了所有的事情$$ OK $$,然後嘗試
/etc/cron.allow
,返回-bash: /etc/cron.allow: No such file or directory,
執行/etc/cron.deny
,返回-bash: /etc/cron.deny: Permission denied
。 BTY:vi /var/log/httpd/error_log
沒有錯誤提示。哪裡有問題?
crond setting
? 還是folder permission
?
哦,天哪,停止 chmoding 基本系統二進製文件。不會有什麼好處。
如果您能夠以 root 身份從命令行執行腳本,但它在 cron 中失敗,那麼最可能的問題是:
1)權限問題(特別是基本權限問題,而不是系統範圍的問題,這是您嘗試使用 chmod 語句修復的問題)。
- 路徑問題。
對於 #1,您是否查看過 /var/www/html/images 目錄的所有權和權限?此目錄的所有權和權限是否允許執行 cron 的使用者修改文件?
實際上,就使用者而言,您是如何執行 cron 的?你有它在 /etc/cron.d 目錄嗎?如果您將 cronjob 文件放在 /etc/cron.d 中,則格式會略有不同,因為您必須將執行 cron 的使用者放在日期/時間欄位和命令之間。
對於#2,我認為這不太可能,因為您指定了執行檔的絕對路徑名(/usr/bin/php),並且您的腳本不包含任何額外的庫。