【问题标题】:Unable to setup cron-job on Amazon EC2无法在 Amazon EC2 上设置 cron-job
【发布时间】:2013-09-17 22:31:05
【问题描述】:

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

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

感谢您的宝贵时间。

【问题讨论】:

    标签: php amazon-ec2 ec2-ami


    【解决方案1】:

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

    1. 通过 SSH 连接
    2. 导航到/etc/cron.daily
    3. 制作一个新脚本来运行/调用 PHP 脚本以发送电子邮件/其他任务
    4. 确保其可执行

    您可以使用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然后回车,退出按CTRL + X

    第 3 步:使其可执行

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

    第 4 步:尝试一下

    要对其进行测试,请键入 ./mailscript 以在 cron.daily 中运行 cron。现在检查您的电子邮件!

    【讨论】:

    • 你能解释一下,我应该通过 SSH 控制台传递什么命令。
    • 我想知道你想如何调用 PHP 脚本?它位于哪里等?
    • 抱歉,今天发布,等我回来再更新。请参阅我在答案中发布的链接,并围​​绕我提到的主题进行一些谷歌搜索。
    • 我在文件名“mail-script.php”中编写了电子邮件函数,它位于/var/www/mail-script.php。我将目标电子邮件 ID 放在该电子邮件函数中,并且只想每天触发此页面(即 mail-script.php)以生成电子邮件。 cron 文件夹(即 cron.daily、cron.hourly 等)位于“/etc/”文件夹下。
    • 嗨 @SamV 你有没有在 AWS (amazon ec2) 上创建自定义 Crontab?我需要你的帮助。
    猜你喜欢
    • 2012-05-15
    • 1970-01-01
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 2017-02-28
    • 1970-01-01
    • 2017-02-02
    • 2012-03-21
    相关资源
    最近更新 更多