我正在尝试设置一个 cronjob 在每个月的最后一个星期日运行。这就是我所取得的成就。
目前,每周日晚上 10 点运行。
0 22 * * 0 /usr/basys_bin/clean_cups_cache.sh
答案1
无论是在脚本的顶部,还是作为单独的脚本,您都可以设置安全措施以确保它仅在该月的最后一周运行。
例如,将其创建为类似的内容/usr/local/bin/lastweekofmonth
#!/bin/bash
# Exit 0 ("OK") iff we are in the last seven days of a month
#
today=$(date +%d) # Day number today
nextweek=$(date --date 'now + 7 days' +%d) # Day number next week
[[ ${today#0} -gt ${nextweek#0} ]] # Implicit exit "OK" if today > next week
请记住使其可执行 ( chmod +x /usr/local/bin/lastweekofmonth
)
crontab
然后你就可以在你的条目中使用它
0 22 * * 0 /usr/local/bin/lastweekofmonth && /usr/basys_bin/clean_cups_cache.sh