gpt4 book ai didi

linux - 为什么我的某些 cronjobs 从未执行过?

转载 作者:太空宇宙 更新时间:2023-11-04 10:32:15 25 4
gpt4 key购买 nike

我的 crontab 中有以下 cronjobs:

0  22 *   *    1-6 /root/sbin/mysqlbackup --conf-dir=/root/etc/backup --source=MonitoringServer --set-name=$(date +"\%A")                                             2>&1 | mail -s "Backup /MonitoringServer" it@example.com
0 22 * * 0 [ "`date +\%d`" -gt 7 ] && /root/sbin/mysqlbackup --conf-dir=/root/etc/backup --source=MonitoringServer --set-name=Woche$((($(date +\%-d)-1)/7+1)) 2>&1 | mail -s "Backup /MonitoringServer" it@example.com
0 22 * 2-12 0 [ "`date +\%d`" -lt 8 ] && /root/sbin/mysqlbackup --conf-dir=/root/etc/backup --source=MonitoringServer --set-name=$(date +"\%B") 2>&1 | mail -s "Backup /MonitoringServer" it@example.com
0 22 * 1 0 [ "`date +\%d`" -lt 8 ] && /root/sbin/mysqlbackup --conf-dir=/root/etc/backup --source=MonitoringServer --set-name=$(date +"\%Y") 2>&1 | mail -s "Backup /MonitoringServer" it@example.com

而第一行应该在每个星期一到星期六(有效)生成备份。第二行应该在每个星期日生成一个备份,使用每月的星期作为名称,第一周除外(有效)。第三行应该在二月到十二月的每个月的第一个星期日执行(不起作用)。最后一行应在每年的第一个星期日执行(是否调用未知)。

一切似乎都适合我。谁能告诉我为什么第三行不起作用?

更新

✓ root@mirror ~$  echo $(date +"%B");
September
✓ root@mirror ~$ [ "`date +%d`" -lt 8 ] && echo "Test"
Test
✓ root@mirror ~$ echo "`date +%d`"
02

更新

8月7日(上个月第一个星期天)没有邮件发送。意味着如果要执行作业,则必须至少有一封空邮件?

更新

/root/sbin/mysqlbackup --conf-dir=/root/etc/backup --source=MonitoringServer --set-name=$(date +"\%B")

使用 sh shell(默认情况下由 cron 使用)和使用 bash shell(在 crontab 的开头配置)表现良好。

19 8 * 2-12 5 [ "`date +\%d`" -lt 8 ] && echo $(date +"\%B") 2>&1 | mail -s "Backup /MonitoringServer" it@example.com

表现也不错。收到包含月份名称的邮件。

最佳答案

语法正确cron 必须在 8 月 7 日触发第 3 行的执行。

是的,您应该在 8 月 7 日收到一封电子邮件,与备份脚本的结果(甚至是否存在)无关。

如果您没有收到电子邮件,可能的原因是:

  • cron 已关闭(或整台机器都已关闭)
  • 您为 cron 配置了错误的 SHELL>
  • 邮件服务中断。

我会检查系统日志以了解 cron 执行、电子邮件提交和 mysqlbackup 的执行。

关于linux - 为什么我的某些 cronjobs 从未执行过?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39284716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com