প্রতি ২ য় বুধবার ক্রোন চালাবেন?


9

আমার কোনও কাজের ক্রোন করার একটি উপায় খুঁজে পাওয়া দরকার যাতে এটি প্রতিমাসের দ্বিতীয় বুধবারে চলে। এটা কি সম্ভব?

linux  cron 

1
এই প্রশ্নটি একটি উপযুক্ত উত্তর প্রদান করে বলে মনে হচ্ছে।
scurker

1
হ্যাঁ, তবে এই প্রশ্নটি মঙ্গল সম্পর্কিত নয়, বুধ নয়;) স্বীকৃত উত্তরটি যদিও চতুর।
এডলফলিন

>> হ্যাঁ, তবে এই প্রশ্নটি মঙ্গল সম্পর্কিত নয়, বুধ নয়;) গৃহীত উত্তরটি চতুর, যদিও ... মঙ্গলকে বুধে পরিবর্তন করা এত কঠিন কী?
আজ্রিয়াল

0 * * * 3 পরীক্ষা $ (তারিখ \ +% u) -উক্ত 3 এবং& প্রতিধ্বনি "আমাকে চালানো শুরু করুন" চেষ্টা করে দেখুন। উত্তরে আটকাননি কারণ একটি লাইনারের প্রশ্নটি বেশ অস্পষ্ট।

উত্তর:


14

ক্রন্টাবের জন্য আমার ম্যানপেজটি (যা আমি দুঃখের সাথে অনলাইনে খুঁজে পাচ্ছি না) নিম্নলিখিত উদাহরণটি দেয়:

# Run on every second Saturday of the month
0 4 8-14 * *    test $(date +\%u) -eq 6 && echo "2nd Saturday"

এটি আপনার উদ্দেশ্যে খাপ খাইয়ে নিচ্ছে ...

0 4 8-14 * *    test $(date +\%u) -eq 3 && job.sh

3
সম্পাদনা করতে এই উত্তরটি দেখলে যে কেউ, কারণ আপনি শুধু সপ্তাহে ক্ষেত্রের দিন ব্যবহার করবেন না যদি মাস এবং সপ্তাহের দিন উভয় দিন সীমাবদ্ধ (অর্থাত, না হয় *), কমান্ড যখন চালানো হবে হয় এক ম্যাচ ।
হস্তুরকুন


1
আমি দেখতে পেয়েছি যে আমাকে% u date +\%u
অ্যান্টনি

3

আপনি সপ্তাহের ট্রিকের দিন এবং সপ্তাহের দিনের সংমিশ্রণটি ব্যবহার করে একটি বাহ্যিক স্ক্রিপ্ট চালানো এড়াতে পারেন:

# Run on every second Wednesday of the month
0 4 8-14 * Wed job.sh

এটি অন্য একটি বহিরাগত প্রোগ্রাম চালানো এড়ানো যায়। 8-14 সমস্ত দিন নির্বাচন করে যা মাসের দ্বিতীয় সপ্তাহে মেলে। তারপরে এটি ফিল্টার করে কেবল বুধবারে।


এই অনুযায়ী: crontab.guru , cronপ্রতিদিন কার্য সম্পাদন করবে: 8,9,10,11, ..., 14 সকাল 4 টা। সুতরাং এটির পরিবর্তে এটি 7 টি আমন্ত্রণ। আমি এটি উত্পাদনে পরীক্ষা করতে চাই না))
ম্যাক্সকুরিউকোভ

1

ক্রোন নিজে থেকে ব্যবহার করা সম্ভব নয় তবে আপনি সপ্তাহে একবারে একটি স্ক্রিপ্ট কল করতে পারেন যা পরীক্ষা করে:

ক্রোনটাব এ, প্রতি বুধবার 12.00 এ সেকেন্ড_উড.শ চালান:

0 12 * * 3 /home/you/bin/second_wed.sh

সেকেন্ড_উড.এসে:

#!/usr/bin/env bash
day_of_month=`date +"%
if [ $day_of_month -gt 7 -a $day_of_month -lt 15 ]; then
  # Call your program here instead of 'ls'…
  ls
fi


1

CentOS 7 সার্ভারগুলির জন্য, এটি আমার জন্য কাজ করে এমন সিনট্যাক্স বলে মনে হচ্ছে। দয়া করে [এবং এর আশেপাশের জায়গাগুলি নোট করুন ]। আমার কিছুটা বের করতে সময় লাগল took

এটি test.shমাসের দ্বিতীয় বুধবার 13:07 / 1:07 pm এ ফাইলটি চালায় । (০ = রবিবার, ১ = সোমবার, ২ = মঙ্গলবার, ৩ = বুধবার ইত্যাদি)

07 13 8-14 * * [ `date +\%u` = 3 ] &&  /root/scripts/test.sh

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.