无法从本地存储的脚本运行crontab psql备份作业。我通过crontab -e
添加了作业,当我使用crontab -l
时,它会显示在作业列表中。它应该运行的脚本运行正常,检查它,按原样运行并在使用./backup.sh
时将输出转储到指定的s3存储桶
这就是我设定的工作:
59 23 * * 7 /Users/myusername/backup.sh
这项工作应该在每个星期天晚上11:59运行,但事实并非如此。我无法弄清楚问题是什么(我是否需要在每个作业之间留下换行符/空格,或者只是在我的crontab列表中丢失的作业之后?
非常感谢任何帮助。感谢。
答案 0 :(得分:0)
根据您的发行版,您可能需要检查Cron服务的日志。
可能出于问题的原因的非详尽清单:
Cron服务:如果您的发行版使用systemd
,请尝试运行systemctl status cron
(或systemctl status crond
?)以检查它是否正在运行。
您的脚本已启动但失败:此处有几件事需要尝试。
journalctl --unit cron
或journalctl -f
之类的内容; dead.letter
个文件,其中包含失败脚本的输出。当Cron启动您的脚本并且脚本输出某些内容(这被认为是一个问题)时,该输出将邮寄给您。如果没有正确配置邮件,那么它通常会转到该文件。在脚本的开头添加这样的内容:
(
date
id -a
set
echo
) >> /tmp/myscript.log
然后等到cron运行你的脚本并检查文件/tmp/myscript.log
是否已创建。然后尝试手动运行脚本,复制您现在知道的cron
创建的所有环境。即除了Cron离开的变量之外的其他所有内容,并确保id
是正确的。