如何在AWS EC2服务器中编写cron作业

时间:2013-03-18 04:56:33

标签: php crontab

我在AWS EC2中创建了一个cron作业,但它无效。

我按照以下步骤创建了cron标签:

  • 步骤1:我登录AWS EC2 Instace
  • 第2步:crontab -e
  • 第3步:插入模式
  • 第4步:我输入* * * * * php/var/www/html/welcome.php(每分钟运行一次)
  • 第5步::wq

已创建Cron选项卡但未运行。

如果有任何PHP脚本意味着请提供给我,请帮助我。我是否需要在每颗星之间留出空格?

3 个答案:

答案 0 :(得分:44)

首先,您需要在php/var之间加一个空格:

* * * * * php/var/www/html/welcome.php

* * * * * php /var/www/html/welcome.php
             ^

然后,您最好使用/bin/php而不是php。要确定php可执行文件的位置,请在控制台中键入which php,它将为您提供文件路径。所以它会变成这样:

* * * * * /bin/php /var/www/html/welcome.php
          ^^^^^^^^

更多事情:

  • 检查crontab是否正确保存?输入crontab -l。您的新crontab行应该在那里。
  • 是这个目录中的脚本吗?试试ls -l /var/www/html/welcome.php
  • 如果从控制台执行,
  • 是执行的脚本吗?请尝试/bin/php var/www/html/welcome.php查看它是否是脚本或crontab问题。
  • 脚本是否具有执行模式?试试chmod 755 /var/www/html/welcome.php

让我们更新,以便我们找到导致错误的原因。

答案 1 :(得分:3)

据我所知,在EC2上运行cron与在任何* nix服务器上运行没有任何不同。 我会检查系统消息是否有任何错误。您还可以将stderr / stdout重定向到

中的文件
 * * * * * <your script>  >> /var/tmp/out.log 2>&1

并检查初学者的任何问题。

答案 2 :(得分:3)

可能为时已晚,但如果您打算每分钟运行一次该命令应该是

* * * * * php /var/www/html/welcome.php