我正在尝试使用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
这是日志:
Nov 28 02:12:01 ip - ## - ## - ## - ## CROND [#####] :( root)CMD(/ usr / bin / php 的/ var / www / html等/ ***** / ***** / delete.php)
我可能做错了什么?
答案 0 :(得分:1)
我刚遇到类似的问题... Cron is setup correct (I think) but is not running
它现在对我有用:
直接编辑/ etc / crontab并确保检查您的路径。 (您甚至可以像这样cd进入正确的目录,也许也可以解决您的问题。)
00 * * * * cd /var/www/html/*****/*****/ && php ./delete.php
还要检查是否只有php才能解决问题。 致电:
which php
查看PHP的完整路径,并改用它。
答案 1 :(得分:0)
如果在浏览器中工作正常,则可以按如下所示设置cron作业,
00 * * * * wget -q -O /dev/null http://example.com/delete.php
这与您在浏览器中调用时的工作原理相同,只是将“ http://example.com/delete.php”更改为您在浏览器中调用的网址。