我正在尝试使用crontab执行PHP脚本,但它似乎不起作用。我正在运行AWS EC2 Linux,这是PHP脚本:
FOREACH (GLOB("*.jpg") AS $filename) {
ECHO "$filename size " . FILESIZE($filename) . "\n";
UNLINK($filename);
}
FOREACH (GLOB("*.jpeg") AS $filename) {
ECHO "$filename size " . FILESIZE($filename) . "\n";
UNLINK($filename);
}
FOREACH (GLOB("*.gif") AS $filename) {
ECHO "$filename size " . FILESIZE($filename) . "\n";
UNLINK($filename);
}
FOREACH (GLOB("*.png") AS $filename) {
ECHO "$filename size " . FILESIZE($filename) . "\n";
UNLINK($filename);
}
当我从浏览器手动执行此脚本时,它正常工作。但它使用crontab无效
这是我的cron命令:
00 * * * * php /var/www/html/*****/*****/delete.php
这是日志:
11月28日02:12:01 ip - ## - ## - ## - ## CROND [#####] :( root)CMD(/ usr / bin / php / var / www / html / *** ** / ***** / delete.php)
我可能做错了什么?
我刚才有类似的问题...... Cron is setup correct (I think) but is not running
它现在为我工作:
直接编辑/ etc / crontab并确保检查您的路径。 (你甚至可以像这样进入正确的目录,也许这也将解决你的问题..)
00 * * * * cd /var/www/html/*****/*****/ && php ./delete.php
还要检查一下php是否可以解决问题。呼叫:
which php
查看PHP的完整路径并使用它。
如果它在浏览器中正常工作,那么你可以设置如下的cron作业,
00 * * * * wget -q -O /dev/null http://example.com/delete.php
这将像你在浏览器中调用一样工作只需用你在浏览器中调用的url更改“http://example.com/delete.php”。