0 0 * * Thu bash -c '(($(date +\%s) / 86400 \% 14))' && your-script
আমি আমার গণিত করতে বাশ ব্যবহার করেছি কারণ আমি অলস; আপনার পছন্দ মত যা পরিবর্তন করুন। আমি 1 জানুয়ারী, 1970 কে বৃহস্পতিবার হওয়ার সুবিধা গ্রহণ করি; সপ্তাহের অন্যান্য দিনের জন্য আপনাকে একটি অফসেট প্রয়োগ করতে হবে। ক্রোন প্রয়োজন শতাংশ লক্ষণ এড়ানো।
দ্রুত যাচাই:
function check {
when=$(date --date="$1 $(($RANDOM % 24)):$(($RANDOM % 60))" --utc)
echo -n "$when: "
(($(date +%s --date="$when") / 86400 % 14)) && echo run || echo skip
}
for start in "2010-12-02" "2011-12-01"; do
for x in $(seq 0 12); do
check "$start + $(($x * 7)) days"
done
echo
done
দ্রষ্টব্য আমি বৃহস্পতিবার যে কোনও সময় চালানো হলে এটি কাজ করবে তা দেখানোর জন্য এলোমেলো সময়গুলি বেছে নিয়েছি এবং যে তারিখগুলি বছরের সীমানা অতিক্রম করে প্লাস 4 এবং 5 উভয় বৃহস্পতিবার সহ মাস অন্তর্ভুক্ত করে chosen
আউটপুট:
Thu Dec 2 06:19:00 UTC 2010: run
Thu Dec 9 23:04:00 UTC 2010: skip
Thu Dec 16 05:37:00 UTC 2010: run
Thu Dec 23 12:49:00 UTC 2010: skip
Thu Dec 30 03:59:00 UTC 2010: run
Thu Jan 6 11:29:00 UTC 2011: skip
Thu Jan 13 13:23:00 UTC 2011: run
Thu Jan 20 20:33:00 UTC 2011: skip
Thu Jan 27 16:48:00 UTC 2011: run
Thu Feb 3 17:43:00 UTC 2011: skip
Thu Feb 10 05:49:00 UTC 2011: run
Thu Feb 17 08:46:00 UTC 2011: skip
Thu Feb 24 06:50:00 UTC 2011: run
Thu Dec 1 21:40:00 UTC 2011: run
Thu Dec 8 23:24:00 UTC 2011: skip
Thu Dec 15 22:27:00 UTC 2011: run
Thu Dec 22 02:47:00 UTC 2011: skip
Thu Dec 29 12:44:00 UTC 2011: run
Thu Jan 5 17:59:00 UTC 2012: skip
Thu Jan 12 18:31:00 UTC 2012: run
Thu Jan 19 04:51:00 UTC 2012: skip
Thu Jan 26 08:02:00 UTC 2012: run
Thu Feb 2 17:37:00 UTC 2012: skip
Thu Feb 9 14:08:00 UTC 2012: run
Thu Feb 16 18:50:00 UTC 2012: skip
Thu Feb 23 15:52:00 UTC 2012: run