1
基本上,我想在每個月的第五,五,第一天,第二天,第四天(如果可用)運行一項工作。換句話說,除了第三個星期五,所有的星期五。如何在cron中排除一週中的某一天,並且僅在某個星期排除
編輯:這是更面向Java,沒有訪問bash環境。
基本上,我想在每個月的第五,五,第一天,第二天,第四天(如果可用)運行一項工作。換句話說,除了第三個星期五,所有的星期五。如何在cron中排除一週中的某一天,並且僅在某個星期排除
編輯:這是更面向Java,沒有訪問bash環境。
您可以手動檢查它的腳本:
date "%u"
給你一週中的一天(同在cron道瓊斯場)
要獲得每月的週數,你必須做一些時髦的事情。
date +"%V"
給你一個月的一週,所以你不得不看
x=`date +"%V"`
y=`date +"%V" -d $(date +"%Y%m01")`
week_of_month=$((x-y))
WEEK_OF_MONTH從0開始,所以你會想檢查它是否是不是兩個。
因此,在你的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腳本來執行此操作。 –