【问题标题】:Crontab on Amazon EC2 ServerAmazon EC2 服务器上的 Crontab
【发布时间】:2014-01-27 18:09:11
【问题描述】:

我一直在尝试在 EC2 上设置一个 cron 作业,但一点运气都没有。尽管 cron 作业已列出并运行,但它只是找不到该文件。

这是 cron 作业

*/5 * * * * python /home/ec2-user/monitoring/job.py  >> /var/log/script_output.log 2>&1

【问题讨论】:

  • cron作业运行后/var/log/script_output.log的内容是什么?
  • @Nigel :它没有被创建,因为权限被拒绝。
  • 作为一个快速而肮脏的解决方案,您可以sudo touch /var/log/script_output.log && sudo chmod 0777 /var/log/script_output.log。这将允许每个人对 script_output.log 做任何事情
  • 脚本一开始没有执行,这是真正的问题。

标签: python amazon-web-services crontab


【解决方案1】:

似乎我们在这里得到的是oneofthoserare cron 作业不运行的情况。

下面是我解决这个问题的方法。

  • 我会在 bash 中运行 python /home/ec2-user/monitoring/job.py >> /var/log/script_output.log 2>&1。只是为了检查该命令是否可以在正常情况下运行。

  • 我会添加 MAILTO=your@email。只是为了在出现问题时收到电子邮件

  • 我会运行 which python 命令并在 cron 文件中使用 完整路径python。假设which python 返回了/usr/bin/python。然后我会像这样编辑 cron 文件: */5 * * * * /usr/bin/python /home/ec2-user/monitoring/job.py >> /var/log/script_output.log 2>&1

  • 我会在 cron 文件中添加一个空行。其实我会先做这个。但我坚持使用 FreeBSD 的默认 cron。您可能正在运行 Ubuntu 并使用 Vixie Cron。反正也伤不起。

  • 我会在 bash 中运行 pgrep cron。只是为了检查 cron 守护进程是否正常运行

最后你的 cron 应该是这样的:

MAILTO=my@email.com

*/5 * * * * /usr/bin/python /home/ec2-user/monitoring/job.py >> /var/log/script_output.log 2>&1

【讨论】:

    猜你喜欢
    • 2013-05-08
    • 2012-12-05
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-25
    • 1970-01-01
    • 2011-11-17
    相关资源
    最近更新 更多