如何在cron中排除一周中的某一天,并且仅排除某一周中的某一天
基本上,我希望在每个月的第一、第二、第四和第五个星期五(如果可以的话)运行作业。或者换言之,除了第三个星期五以外的所有星期五如何在cron中排除一周中的某一天,并且仅排除某一周中的某一天,cron,Cron,基本上,我希望在每个月的第一、第二、第四和第五个星期五(如果可以的话)运行作业。或者换言之,除了第三个星期五以外的所有星期五 编辑:这更面向java,无法访问bash环境。您可以在脚本中手动检查它: date "%u" 提供与cron中的dow字段相同的星期几 要获得每个月的周数,你必须做一些时髦的事情 date +"%V" 给你一个月中的一周,所以你必须看 x=`date +"%V"` y=`date +"%V" -d $(date +"%Y%m01")` week_of_month=$
编辑:这更面向java,无法访问bash环境。您可以在脚本中手动检查它:
date "%u"
提供与cron中的dow字段相同的星期几
要获得每个月的周数,你必须做一些时髦的事情
date +"%V"
给你一个月中的一周,所以你必须看
x=`date +"%V"`
y=`date +"%V" -d $(date +"%Y%m01")`
week_of_month=$((x-y))
每月的第周从0开始,因此您需要检查它是否不是2
因此,在cron中,您将每周五运行脚本,并在脚本顶部进行检查:
x=`date +"%V"`
y=`date +"%V" -d $(date +"%Y%m01")`
week_of_month=$((x-y))
if [ "$week_of_month" == "2" ]; then
echo "Will not run second friday of the month"
exit;
fi
你能描述一下你运行的是什么类型的系统吗?如果您有权访问cron,那么很可能您有权访问shell,您可以编写一个sh脚本来执行此操作。