Shell 每月第一个星期六运行的Cron条目

Shell 每月第一个星期六运行的Cron条目,shell,cron,backup,crontab,Shell,Cron,Backup,Crontab,我有一个每周六凌晨4点运行的cronjob,比如: 0 4**6/var/lib/backup\u weekly.sh>>/var/log/backup\u weekly.log 2>&1 是否有办法在每个月的第一个星期六上午4点运行不同的脚本(backup_monthly.sh)?如果不运行上面的脚本(backup_weekly.sh)?我相信您只需在crontab中添加另一行,然后放入要运行的脚本以及特定的日期和时间。这里还有一个用于Unbuntu中的cron作业的示例,不确定您的跑步风格,

我有一个每周六凌晨4点运行的cronjob,比如:
0 4**6/var/lib/backup\u weekly.sh>>/var/log/backup\u weekly.log 2>&1


是否有办法在每个月的第一个星期六上午4点运行不同的脚本(backup_monthly.sh)?如果不运行上面的脚本(backup_weekly.sh)?

我相信您只需在crontab中添加另一行,然后放入要运行的脚本以及特定的日期和时间。这里还有一个用于Unbuntu中的cron作业的示例,不确定您的跑步风格,但我知道它在Debian 4.6(挤压版)中有效。

每周六运行脚本,并添加到脚本中:

(( $(date +%w) < 7 )) || exit
($(日期+%w)<7))||退出

您可以通过以下方式设置cron:

0 4 1-7**[
date+\%u
=6]&&&/path/script

否则


0 4 1-7*6/var/lib/backup_weekly.sh>>/var/log/backup_weekly.log 2>&1

您可以在每个月的同一日期(如1日)运行它,但要执行您想要的操作,您可能需要在脚本(backup_weekly.sh)中添加额外的逻辑来确定它是否是第一个星期六,因此,是否执行其操作。0 4 1-7*6表示“从1到7,每个月的每一天和周六的10:00”,它不起作用,因为它是每月和每个周六的每1,2,3,4,5,6,7执行一次