- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的 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/
背景 我最近在 merge 期间遇到了一个意外未 merge 的文档文件的问题。 无论出于何种原因,我搞砸了 merge 并有效地删除了文件(和其他几个文件),因为我忘记了它们的存在。 现在我想查看我
我在我的网站上使用旧的 mysql 版本和 php 版本 4。 我的表结构: | orders_status_history_id | orders_id | orders_status_id |
我是一名优秀的程序员,十分优秀!