১. ক্রন কি?
ক্রন হল লিনাক্স এবং ইউনিক্স-ভিত্তিক অপারেটিং সিস্টেমের জন্য একটি সময়-ভিত্তিক কাজ নির্ধারক। এটি প্রধানত সিস্টেম অ্যাডমিনিস্ট্রেটর এবং ডেভেলপাররা নিয়মিতভাবে চালাতে হয় এমন কাজগুলো স্বয়ংক্রিয় করতে ব্যবহার করেন। ক্রন উবুন্টুতে পূর্ব-ইনস্টল করা থাকে এবং সার্ভার ব্যবস্থাপনা, ব্যাকআপ, নির্ধারিত স্ক্রিপ্ট চালানো এবং বিভিন্ন স্বয়ংক্রিয় কাজের জন্য ব্যাপকভাবে ব্যবহৃত হয়।
ক্রন কীভাবে কাজ করে
ক্রন “crontab” নামের একটি ফাইল ব্যবহার করে কাজ করে, যেখানে নির্দিষ্ট সময় বা অন্তরালে চালানোর জন্য কমান্ডগুলো নির্ধারিত থাকে। crontab ফাইলে পাঁচটি ক্ষেত্র থাকে, প্রতিটি ক্ষেত্র নির্দিষ্ট মানের ভিত্তিতে কাজের সুনির্দিষ্ট সময়সূচি নির্ধারণের সুযোগ দেয়।
- মিনিট (০–৫৯)
- ঘন্টা (০–২৩)
- মাসের দিন (১–৩১)
- মাস (১–১২)
- সপ্তাহের দিন (০–৭, যেখানে ০ এবং ৭ রবিবারকে নির্দেশ করে)
উদাহরণস্বরূপ, যদি আপনি প্রতিদিন সকাল ৫টায় একটি ব্যাকআপ কাজ নির্ধারণ করতে চান, তবে আপনার crontab ফাইলে নিম্নলিখিত লাইনটি যোগ করবেন:
0 5 * * * tar -zcf /var/backups/home.tgz /home/
এটি দেখায় কীভাবে ক্রন ব্যবহার করে পুনরাবৃত্ত কাজগুলোকে দক্ষতার সঙ্গে স্বয়ংক্রিয় করা যায়।
ক্রন কে ব্যবহার করা উচিত?
ক্রন সিস্টেম অ্যাডমিনিস্ট্রেটর, দৈনন্দিন কাজগুলোকে সহজ করতে চাওয়া ডেভেলপার এবং যেকোনো ব্যক্তি যিনি সার্ভার পরিবেশে নির্ধারিত স্ক্রিপ্ট চালাতে চান, তাদের জন্য অপরিহার্য।

২. ক্রন জব সেটআপ করা
crontab ফাইল সম্পাদনা করা
একটি ক্রন জব সেটআপ করতে, আপনাকে “crontab” ফাইলটি অ্যাক্সেস এবং সম্পাদনা করতে হবে। উবুন্টুতে, আপনি নিম্নলিখিত কমান্ড ব্যবহার করে আপনার ইউজার-নির্দিষ্ট crontab ফাইলটি খুলতে পারেন:
crontab -e
ক্রন জবের মৌলিক সিনট্যাক্স
একটি ক্রন জবের এন্ট্রি সময় ক্ষেত্রগুলো এবং তারপরে চালানোর কমান্ড নিয়ে গঠিত। সাধারণ ফরম্যাটটি হল:
Minute Hour Day Month Weekday Command
উদাহরণস্বরূপ, নিম্নলিখিত ক্রন জবটি প্রতিদিন সকাল ৫টায় /home/ ডিরেক্টরির একটি ব্যাকআপ তৈরি করে:
0 5 * * * tar -zcf /var/backups/home.tgz /home/
crontab পরিবর্তন সংরক্ষণ ও যাচাই করা
একবার আপনি crontab ফাইলে একটি জব যোগ করলে, পরিবর্তনগুলি প্রয়োগ করতে এডিটরটি সংরক্ষণ ও বন্ধ করুন। আপনার বর্তমান ক্রন জবগুলো যাচাই করতে নিম্নলিখিত কমান্ড ব্যবহার করুন:
crontab -l
৩. উন্নত ক্রন জব সময়সূচি
কাস্টম অন্তরে কাজ চালানো
নির্দিষ্ট অন্তরে, যেমন প্রতি মিনিটে বা প্রতি পাঁচ মিনিটে, কাজ চালাতে নিম্নলিখিত সিনট্যাক্স ব্যবহার করুন:
- প্রতি মিনিটে:
* * * * * /path/to/script.sh
- প্রতি পাঁচ মিনিটে:
*/5 * * * * /path/to/script.sh
নির্দিষ্ট দিন ও সময়ে কাজ চালানো
যদি আপনাকে নির্দিষ্ট দিনে কাজ চালাতে হয়, তবে weekday ক্ষেত্রটি ব্যবহার করুন। উদাহরণস্বরূপ, প্রতি সোমবার সকাল ২:১৫টায় একটি স্ক্রিপ্ট চালাতে নিম্নলিখিতটি ব্যবহার করুন:
15 2 * * 1 /path/to/script.sh
৪. ত্রুটি হ্যান্ডলিং ও ট্রাবলশুটিং
ক্রন জবের সাধারণ সমস্যাগুলো
ক্রন জব চালু হচ্ছে না
যদি আপনার ক্রন জব চালু না হয়, তবে নিম্নলিখিত মূল বিষয়গুলো পরীক্ষা করুন:
- অনুমতি পরীক্ষা করুন: স্ক্রিপ্ট বা কমান্ডের এক্সিকিউশন অনুমতি আছে কিনা নিশ্চিত করুন।
- পূর্ণ পাথ ব্যবহার করুন: ক্রন সীমিত পরিবেশে চলে, তাই আপনার কমান্ড ও ফাইলের পূর্ণ পাথ নির্দিষ্ট করুন।
/usr/bin/python3 /path/to/script.py
ক্রন লগ পরীক্ষা করা
ক্রন তার এক্সিকিউশন বিবরণ /var/log/syslog-এ লগ করে। ক্রন-সম্পর্কিত ত্রুটির জন্য লগ পরীক্ষা করতে নিম্নলিখিতটি ব্যবহার করুন:
grep CRON /var/log/syslog

৫. নিরাপত্তা বিবেচনা
ব্যবহারকারী অ্যাক্সেস নিয়ন্ত্রণ
কোন ব্যবহারকারীরা ক্রন জব নির্ধারণ করতে পারবে তা সীমাবদ্ধ করতে আপনি /etc/cron.allow এবং /etc/cron.deny ফাইলগুলো ব্যবহার করতে পারেন। /etc/cron.allow-এ ব্যবহারকারীদের তালিকাভুক্ত করে, শুধুমাত্র সেই ব্যবহারকারীরা ক্রন জব তৈরি করতে পারবে।
echo "user_name" >> /etc/cron.allow
লগইন নিরাপত্তা ও ক্রন জব
যে ক্রন জবগুলোকে প্রমাণীকরণ প্রয়োজন, সেগুলোর ক্ষেত্রে পাসওয়ার্ড-সম্পর্কিত ত্রুটি এড়ানো গুরুত্বপূর্ণ। SSH কী অটোমেশন বা একটি নিরাপদ পাসওয়ার্ড ম্যানেজার ব্যবহার করলে প্রমাণীকরণ ব্যর্থতা প্রতিরোধে সহায়তা করে।
৬. Anacron ব্যবহার করা: কম ঘনঘন কাজের স্বয়ংক্রিয়তা
Anacron কি?
Anacron হল একটি কাজ নির্ধারক যা ধারাবাহিকভাবে চলমান নয় এমন সিস্টেমের জন্য ডিজাইন করা হয়েছে। Cron এর বিপরীতে, যা নির্ধারিত সময়ে সিস্টেমকে অনলাইনে থাকতে প্রয়োজন, Anacron নিশ্চিত করে যে মিস করা কাজগুলি সিস্টেম পরবর্তীবার চালু হলে চলবে। এটি ডেস্কটপ এবং ল্যাপটপের জন্য আদর্শ করে তোলে।
7. ক্রন কাজের ব্যবহারিক উদাহরণসমূহ
ব্যাকআপ স্বয়ংক্রিয়করণ
নিয়মিত সময়সূচিতে ব্যাকআপ স্বয়ংক্রিয় করতে একটি ক্রন কাজ সেটআপ করা ডেটা হারানো রোধে সহায়তা করতে পারে। নিচে একটি উদাহরণ ক্রন কাজ দেওয়া হয়েছে যা প্রতিদিন সকাল ২ টায় /home/ ডিরেক্টরির একটি ব্যাকআপ তৈরি করে এবং ফাইলনামের মধ্যে বর্তমান তারিখ অন্তর্ভুক্ত করে।
0 2 * * * tar -zcf /var/backups/home_backup_$(date +%Y-%m-%d).tgz /home/
8. উপসংহার
Cron এবং Anacron ব্যবহার করে আপনি পুনরাবৃত্ত কাজগুলি দক্ষতার সাথে স্বয়ংক্রিয় করতে এবং আপনার সিস্টেমের অপারেশনগুলির নির্ভরযোগ্যতা বাড়াতে পারেন। সঠিকভাবে ব্যবহার করলে, এই টুলগুলি অপারেশনাল খরচ কমায় এবং গুরুত্বপূর্ণ রক্ষণাবেক্ষণ কাজগুলি ম্যানুয়াল হস্তক্ষেপ ছাড়াই চলতে নিশ্চিত করে। আপনার সিস্টেমে এগুলি প্রয়োগ করুন এবং স্বয়ংক্রিয়তার সুবিধা অনুভব করুন।


