使用crontab执行PHP脚本

时间:2015-11-28 02:24:27

标签: php amazon-web-services amazon-ec2 cron

我正在尝试使用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)

我可能做错了什么?

2 个答案:

答案 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”更改为您在浏览器中调用的网址。