কম্পিউটার টিউটোরিয়াল

লিনাক্স/ইউনিক্স প্রোডাক্টিভিটি বাড়ান: crontab ব্যবহার করার পদ্ধতি

এই বিস্তারিত গাইডে লিনাক্স/ইউনিক্স-এ টাস্ক শিডিউল করার জন্য crontab কমান্ড ব্যবহার করার পদ্ধতি ব্যাখ্যা করা হয়েছে।

ভিডিও গেম ছাড়া কম্পিউটারের একটি বড় সুবিধা হলো এটি একঘায়ে নীরস ও পুনরাবৃত্তিমূলক কাজগুলো করতে আপত্তি করে না—যেগুলো আমরা করত চাই না। দৈনিক ব্যাকআপের মতো একঘায়ে কাজগুলো নির্দিষ্ট সময়ে শিডিউল করে দিয়ে আমরা আরও গুরুত্বপূর্ণ কাজে সময় দিতে পারি। লিনাক্স ও ইউনিক্স-এ সাধারণত crontab ইউটিলিটি ডিফল্টলেই থাকে। এটি আপনাকে নির্দিষ্ট সময়ে টাস্ক চালানোর এবং কনফিগার করা રিপিট করার সুবিধা দেয়। crontab দিয়ে শিডিউল করা টাস্ককে cron job বলা হয়।

crontab কনফিগারেশন বুঝা

crontab কমান্ড আপনাকে নির্দিষ্ট মিনিট, ঘণ্টা, দিন, মাসে স্ক্রিপ্ট এক্সিকিউট করার নির্দেশ দেয়। আপনার মেশিনে কী কী cron job কনফিগার আছে দেখতে নিচের কমান্ড চালান:

# crontab -l

যদি কনফিগার করা থাকে তবে নিচের মতো আউটপুট দেখাবে:

0 6 * * * /opt/scripts/backup_script.sh

উপরের কনফিগারেশনটি প্রতিদিন সকাল ৬টাতে backup_script.sh চালাবে। * চিহ্নের অর্থ হলো সেই ফিল্ডের প্রতিটি ইনস্ট্যান্সে রান করবে। উদাহরণস্বরূপ, দিন, মাস, এবং সপ্তাহের দিন ফিল্ডে এস্টারিস্ক रहने মানে প্রতিদিন, প্রতিমাস, এবং সপ্তাহের প্রতিদিন রান করবে। প্রথম দুটি ফিল্ড (০ এবং ৬) বোঝায় শূন্য মিনিট এবং ছয় ঘণ্টা—অর্থাৎ সকাল ৬টা। এই cron job কনফিগারেশনটি পড়া যাবে: "প্রতিদিন, প্রতিমাস, সপ্তাহের প্রতিদিন সকাল ৬টা ০ মিনিটে /opt/scripts/backup_script.sh স্ক্রিপ্টটি চালাও।" নিচে crontab কনফিগারেশনের "অ্যানাটমি" দেওয়া হলো:

 0 6 * * * /opt/scripts/backup_script.sh
 |  |  |  |  |
 |  |  |  |  |________________ সপ্তাহের দিন (রবিবার=০)
 |  |  |  |__________________ বছরের মাস
 |  |  |____________________ মাসের দিন
 |  |______________________ দিনের ঘণ্টা
 |________________________ ঘণ্টার মিনিট

নতুন Cron Job যোগ বা সম্পাদনা

নতুন cron job যোগ করতে বা পুরনো এডিট করতে নিচের কমান্ড চালান:

# crontab -e

এটি একটি এডিটর খুলবে যেখানে আপনি cron job যোগ, এডিট, বা ডিলিট করতে পারবেন। প্রতিবার সোমবার দুপুর ৩:৪৫-এ একটি স্ক্রিপ্ট চালাতে নিচের এন্ট্রি যোগ করুন:

45 15 * * 1 /opt/scripts/script.sh

একই ফিল্ডে কমা দিয়ে মাল্টিপল এন্ট্রি দেওয়া যায়। এটি উপযোগী যদি আপনি আট ঘণ্টার ব্যবধানে দিনে তিনবার স্ক্রিপ্ট চালাতে চান। একটি ফিল্ডের এন্ট্রিগুলোর মাঝে স্পেস না দিয়ে নিচের মতো লিখুন:

0 1,9,17 * 2,11 * /opt/scripts/db_backup_script.sh

উপরের উদাহরণে db_backup_script.sh ফেব্রুয়ারি ও নভেম্বরের প্রতিদিন সকাল ১টা, ৯টা, এবং বিকাল ৫টাতে চলে। দিন, মাস, সপ্তাহের দিন ফিল্ডেও একই নিয়ম কাজ করে। একবার হাতের المطب হলে নিচের কওল ফিচারগুলো ট্রাই করুন। Crontab শুধু নম্বরই বুঝে না, কিছু বেসিক ইংরেজি শব্দও বুঝে:

স্ট্রিংব্যাখ্যা
@rebootসিস্টেম রিবুট হলে একবার রান করবে
@yearlyবছরে একবার, বছরের শুরুতে রান করবে
@annually@yearly-এর সমান, বছরে একবার
@monthlyমাসে একবার, মাসের শুরুতে
@weeklyসপ্তাহে একবার, সপ্তাহের শুরুতে
@dailyদিনে একবার, রাতে ১২টায়
@midnight@daily-এর সমান, মিডনাইটে
@hourlyঘণ্টায় একবার, ঘণ্টার শুরুতে

যেমন, প্রতিরাত মিডনাইটে একটি স্ক্রিপ্ট চালাতে চাইলে crontab কনফিগারেশন:

@midnight /opt/scripts/script.sh

@midnight ব্যবহার করা 0 0 * * *-এর মতোই কাজ করবে কিন্তু পড়া অনেক সহজ। হাইফেন দিয়ে রেঞ্জও ডিক্লেয়ার করা যায়। নিচের কমান্ডে script.sh সকাল ১টা থেকে ৬টা পর্যন্ত প্রতিটি ঘণ্টার শুরুতে এক্সিকিউট হবে:

0 1-6 * * * /opt/scripts/script.sh

cron দিয়ে আরও অনেক কওল জিনিস করা যায়। প্রতিটি সিস্টেম অ্যাডমিন এর ওপর নির্ভর করে, একবার হাতের المطب হলে এটি খুব সহজ এবং শক্তিশালী। সাবধানতার সাথে ব্যবহার করুন কারণ ভুল শিডিউলিংometimes বড় ক্ষতি করতে পারে। crontab-এর man page পড়া খুবই রিকমেন্ডেড। at কমান্ডও শিখা উপযোগী কারণ সেটিও টাস্ক শিডিউল করতে ব্যবহৃত হয়।

  1. Topgrade ব্যবহার করে লিনাক্স সিস্টেম সহজে আপগ্রেড করুন

  2. কিভাবে লিনাক্স স্ক্রিপ্ট ব্যবহার করে উইন্ডোজ ১০-এ আপনার ডেস্কটপ পরিষ্কার করবেন

  3. স্মার্টফোনকে স্মার্ট টিভি রিমোটে রূপান্তর করুন: ধাপে ধাপে গাইড

  4. স্ক্রিন রেকর্ডিং দিয়ে প্রোডাক্টিভিটি বাড়ান: একটি প্র্যাক্টিক্যাল গাইড