无法在Amazon EC2上设置cron-job

时间:2013-09-13 09:30:53

标签: php amazon-ec2 ec2-ami

我有一个运行我的网站的Amazon EC2实例(Ubuntu Server 13.04 - 64位[ami-bf1d8a8f])。我需要设置一个Cron Job来每天收到一封电子邮件提醒。

有没有人有任何建议或可能的解决方案?

感谢您的时间。

1 个答案:

答案 0 :(得分:8)

这与通过命令行在任何其他服务器上设置cron作业相同。

  1. 通过SSH连接
  2. 导航至/etc/cron.daily
  3. 创建一个运行/调用PHP脚本以发送电子邮件/其他任务的新脚本
  4. 确保其可执行文件
  5. 您可以使用wget -q -O temp.txt http://www.site.com/cron.php之类的命令来调用PHP脚本,或者通过命令行php /var/www/site/cron.php

    关于wget方法,temp.txt将包含脚本的输出,或者您可以将输出重定向到/dev/null。这将只丢弃所有输出。如果需要保存cron脚本的输出并决定使用命令行方法,则可以将数据输出到文件php /var/www/site/cron.php > output.txt

    如果您需要更多解释/详细信息发表评论。另请查看Basic cron job set up to execute php file daily

    步骤1:在cron.daily文件夹

    中创建bash脚本

    通过SSH连接到实例,导航到cd /etc/cron.daily的每日cron文件夹。接下来输入sudo nano mailscript,注意没有.sh bash扩展名。我的扩展程序有问题导致脚本无法运行。

    第2步:Bash脚本内容

    在命令行文本编辑器nano

    中输入
    #!/bin/bash
    
    php /var/www/mail-script.php > /var/www/mail-script-log.txt
    

    现在保存文本文件并退出,以保存使用CTRL + O,然后按enter键退出按CTRL + X

    第3步:使其可执行

    我们需要允许执行文件,输入sudo chmod +x mailscript

    第4步:尝试

    要测试它,请键入./mailscript以在cron.daily中运行cron。现在查看你的电子邮件!