Toolyard

ক্রন এক্সপ্রেশন কী?

পাঁচটি ঘর

একটি ক্রন এক্সপ্রেশন হলো ফাঁক দিয়ে আলাদা করা পাঁচটি ঘর, যা একটি সময়সূচি-যন্ত্রকে বলে দেয় একটি কাজ কখন চালাতে হবে:

বাঁ থেকে ডানে, ক্রম অনুসারে:

মিনিট0-59
ঘণ্টা0-23
মাসের দিন1-31
মাস1-12
সপ্তাহের বার0-6 (রবিবার = 0)

এখনকার সময় প্রতিটি ঘরের সঙ্গে মিলে গেলেই কাজটি চলে।

বিশেষ অক্ষর

  • * যেকোনো মান।
  • , একটি তালিকা: 1,15 মানে 1 আর 15 তারিখ।
  • - একটি পরিসর: শেষ ঘরে 1-5 মানে সোম থেকে শুক্র।
  • / একটি ধাপ: মিনিটের ঘরে */10 মানে প্রতি 10 মিনিটে।

চেনা সময়সূচি

*/5 * * * *প্রতি 5 মিনিটে
0 * * * *প্রতি ঘণ্টায়, ঘণ্টার মাথায়
0 0 * * *রোজ মধ্যরাতে
30 8 * * 1-5কর্মদিবসে 08:30-এ
0 0 1 * *প্রতি মাসের 1 তারিখ মধ্যরাতে
0 3 * * 0প্রতি রবিবার 03:00-এ

যেকোনো এক্সপ্রেশন ক্রন এক্সপ্রেশন বুঝুন-এ সেঁটে দিলে তা সহজ কথায় পড়া যায় আর পরের চলার সময়গুলোও দেখা যায়।

যেসব জায়গায় মানুষ ঠোক্কর খান

  • সময় অঞ্চল: ক্রন সার্ভারের ঘড়ি ব্যবহার করে, যা প্রায়ই UTC।
  • মাসের দিন আর সপ্তাহের বার একসঙ্গে: দুটিই বসানো থাকলে কাজটি চলে যেকোনো একটি মিললেই, দুটিই মিললে নয়।
  • সেকেন্ড: আদর্শ ক্রনে সেকেন্ডের কোনো ঘরই নেই। কিছু ব্যবস্থা, যেমন Quartz আর Spring, গোড়ায় একটি জুড়ে দেয়, আর তাতে ছয়টি ঘর হয়।

যে এক্সপ্রেশন দেখতে যা মনে হয় তা করে না

এক্সপ্রেশনযা ভাবা হয়েছিলসত্যিই যা চলে
0 9 1-7 * 1প্রথম সোমবারে 09:001 থেকে 7 দিনের প্রত্যেকটিতে 09:00, আর প্রতিটি সোমবারেই
*/15 9-17 * * 1-5প্রতি 15 মিনিটে, 9 থেকে 5কর্মদিবসে 09:00 থেকে 17:45, 17:00 ঘণ্টাটি ধরেই
0 0 31 * *মাসের শেষ দিনকেবল 31 দিনের সাতটি মাসেই
0 0 29 2 *বছরে একবারকেবল অধিবর্ষেই

প্রথম সোমবারের জন্য 1 থেকে 7 দিনে চালান আর স্ক্রিপ্টের ভেতরেই বারটি দেখে নিন।

সংক্ষিপ্ত পথ

ক্রনের অনেক রূপই ডাকনাম নেয়: @hourly, @daily, @weekly, @monthly, @yearly, আর @reboot, যা কলটি চালু হলে একবার চলে।

দিবালোক সংরক্ষণের সময়

যে সার্ভার স্থানীয় সময় মেনে চলে তাতে 01:00 আর 03:00-র মাঝে বসানো একটি কাজ ঘড়ি এগিয়ে যাওয়ার রাতে ছেড়ে দেওয়া হতে পারে কিংবা পিছিয়ে যাওয়ার সময় দুবার চলতে পারে, আর তা ক্রনের রূপের ওপরে নির্ভর করে। দরকারি কাজ ওই ঘণ্টাগুলোর বাইরে বসান, কিংবা সার্ভারটি UTC-তে চালান।

এই গাইডের টুল

আরও গাইড