【发布时间】:2020-11-15 19:11:37
【问题描述】:
我从早上开始就一直在努力创建一个 cron 作业。这是我做的过程。
我正在尝试运行的任务management.sh,
#!/bin/bash
cd /var/www/mysite.com/myproject/
source ../venv/bin/activate
python manage.py dbbackup
deactivate
-
我通过
sudo chmod +x /var/www/mysite.com/myproject/management.sh使这个脚本可执行。 -
然后使用
crontab -e,我添加了以下行以每 2 分钟运行一次。*/2 * * * * /usr/bin/sh /var/www/mysite.com/myproject/management.sh >> /var/log/cron.log 2>&1
问题
sudo tail -f /var/log/syslog | grep CRON,这是我看到的,
Jul 26 09:52:01 test-svr-loc1 CRON[23583]: (dexter) CMD (/usr/bin/sh /var/www/mysite.com/myproject/management.sh >> /var/log/cron.log 2>&1)
Jul 26 09:52:01 test-svr-loc1 CRON[23582]: (CRON) info (No MTA installed, discarding output)
当我检查cron.log时,它是空的。
这里有什么问题?
【问题讨论】:
-
看看
/var/log/cron.log。您的 cron 尝试告诉您您的工作正在产生错误,并且 cron 尝试通过电子邮件发送它,但由于未设置 MTA (Mail Transfer Agent) 而失败。 -
无法访问我们真的无法分辨的错误消息。 “无 MTA”部分告诉您它试图向您发送带有实际错误消息的电子邮件,但无法发送。尝试将其缩减为更简单的组件。另见stackoverflow.com/questions/22743548/cronjob-not-running
-
你的工作可以写
/var/log/cron.log吗? -
@Cyrus,谢谢。我授予了日志文件夹的权限,现在它正在记录。我现在将创建一个关于该问题的新问题。它说它正在执行的 bash 脚本中的 cron
can't cd to文件夹。