ক্রন (Cron) আপনাকে কমান্ড, প্রোগ্রাম, এবং স্ক্রিপ্ট অটোমেটিক্যালি ডিফাইনড পয়েন্টস ইন টাইম বা একটি শিডিউল অনুযায়ী রান করতে দেয়। এটি পাওয়ারফুল, এটি লাইট, এবং এটি মাথায় বসানোও হার্ড। তাই আপনি crontab ব্যবহারকে সিম্পল করার চেষ্টা করে ফ্রন্ট-এন্ড পাবেন, এবং জাইট (Zeit) 그중 একটি সেরা।
জাইট-এর একমাত্র লক্ষ্য হচ্ছে আপনার ক্রন জব যোগ ও ম্যানেজ করা খুব সহজ করা। জাইট-এ, কমান্ড এবং স্ক্রিপ্ট রান করা টাস্ক লিস্টে একটি নতুন এন্ট্রি যোগ করার মত সহজ। চলুন দেখি কীভাবে এটি আপনাকে লিনাক্সে সহজে ক্রন জব তৈরি করতে দেয়।
ইনস্টলেশন
অধিকাংশ লিনাক্স ডিস্ট্রিবিউশনে, আপনাকে জাইট সোর্স থেকে বিল্ড করতে হবে। ডাউনলোড করার পর, এবং অফিসিয়াল ডকুমেন্টেশন অনুযায়ী, আপনি নিচের কমান্ড দিয়ে এটিকে একটি ইউজেবল অ্যাপে রূপান্তর করতে পারেন:
mkdir build && cd build cmake .. make -j2 ./src/zeit
আপনি উবুন্টুতে থাকলে, এর রিপোজিটরি অ্যাড করে জাইট ইনস্টল করতে পারেন নিচের কমান্ডগুলো দিয়ে:
sudo add-apt-repository ppa:blaze/main sudo apt update sudo apt install zeit
কয়েক সময় পর, আপনি আপনার বাকি ইনস্টলড প্রোগ্রামের মধ্যে জাইট পাবেন। সেটি লোকেট করুন এবং অ্যাপটি রান করুন।
টাস্ক এবং শিডিউলস
জাইট-এর ইন্টারফেস স্ট্রেইটফরওয়ার্ড। একটি টাস্ক যোগ করতে, "Add Task" বাটনে ক্লিক করুন।
Description ফিল্ডে আপনার টাস্কের জন্য একটি নাম লিখুন। Command ফিল্ডে আপনি যে কমান্ড শিডিউল করতে চান সেটি টাইপ করুন।
"Time and Date" সেকশনে, আপনি Basic সিলেক্ট করতে পারেন, যা আপনাকে একটি রেগুলার প্যাটার্নে টাস্ক রান করার জন্য দ্রুত শিডিউল করতে দেয়। আরও কাস্টমাইজেশনের জন্য, Advanced অপশন বেছে নিন।
Advanced অপশন আপনাকে প্রিসিজলি মিনিট, আওয়ার, ডে, ডে অফ দ্য উইক, এবং মান্থ ইনপুট করতে দেয় যেটি টাস্কটি রান করবে। সকল ফিল্ড ইনিশিয়ালি একটি এস্টারিস্ক দিয়ে পপুলেটেড থাকে, যা একটি 와일্ডকার্ড হিসেবে কাজ করে "এভেরি" (every) বোঝাতে। উদাহরণস্বরূপ, আপনি Day ফিল্ডে " *" ইনপুট দিলে, সেটা বোঝাবে "প্রতিদিন"।
আপনি কমা দিয়ে সেপারেট করে একাধিক নম্বর ইনপুট দিতে পারেন। উদাহরণস্বরূপ, আপনি Hour ফিল্ডে "20, 23" এবং Minute ফিল্ডে "35" ইনপুট দিলে, আপনার টাস্ক প্রতিদিন ২০:৩৫ এবং ২৩:৩৫-এ রান করবে।
আপনি কখনো crontab-এর সিনট্যাক্সের রিমাইন্ডার চাইলে, আপনার মাউস যেকোনো ফিল্ডের ওপর হোভার করুন। জাইট আপনাকে একটি উপকারী পপ-আপ দেখাবে কীভাবে আপনি টাস্কের শিডিউল সেট আপ করতে পারেন তার উদাহরণসহ।
আপনি একবার একটি টাস্ক তৈরি করলে, এটি জাইট-এর মেইন লিস্টে見える হবে। আপনি যদি দ্রুত একটি টাস্ক ডিজেবল করতে চান, তবে সেটিতে ডাবল-ক্লিক করুন, আপনি রাইট-ক্লিক করলেও এডিট বা সম্পূর্ণ রিমুভ করতে পারবেন।
অ্যালার্ম এবং টাইমার
জাইট আপনাকে অ্যালার্ম এবং টাইমার সেট আপ করতে দেয়, কিন্তু আমরা এতে বিস্তারিত যাবো না, কারণ এটি টাস্ক থেকে আরও সিম্পল। অ্যালার্ম এবং টাইমারের সাথে, আপনাকে ওয়াইল্ডকার্ড এবং কমপ্লেক্স শিডিউয়ালের চিন্তা করতে হয় না, কারণ এমন ফাংশনালিটি অফার করা হয়নি এমনকি সেটা কেউর জন্য উপযোগী হলে।
আপনি শুধু সিম্পল শিডিউল সেট করতে পারেন, টাইম ডিফাইন করে এবং সিলেক্ট করে যে দিনগুলোতে অ্যালার্ম বা টাইমার রান করবে। সেটাই। দুইটি এক্সট্রা বাটন আছে Player এবং Sound File-র পাশের ফোল্ডার আইকনওয়ালা, যেগুলো ব্যবহার করে আপনি একটি মিডিয়া প্লেয়ার এবং একটি সাউন্ড ফাইল বেছে নেবেন অ্যালার্ম ও টাইমার সেট আপ করার সময়। যেহেতু জাইট/ক্রন্ট্যাব আপনাকে সেসব ফিল্ড ব্ল্যাঙ্ক রেখে নোটিফাই করার কোনো উপায় নেই, তাই সেসব ফিল্ড ব্ল্যাঙ্ক রেখে কোনো রুল সেট আপ করার অনুমতি দেবে না।
সব কিছু কন্ট্রোল করুন
জাইট-এ, আপনি ডিফল্টলি আপনার নিজস্ব crontab রুলস এডিট করছেন, যা শুধু আপনার ইউজার অ্যাকাউন্টের জন্য এক্টিভ। সকল রুল দেখতে (অন্যদের এবং সিস্টেমের) এবং স벨া এডিট করতে, View মেনু থেকে "System Mode" ইনেবল করুন।
System Mode-এ, আপনি এক্সিস্টিং রুলস টুইক করতে পারবেন—উদাহরণস্বরূপ, উবুন্টু আপনার ওএসের জন্য অটোমেটেড রিপোর্টস তৈরি করে সেসবके জন্য। এক্সট্রা কেয়ারফুল रहুন এমন রুলস টুইক করার সময় এবং মনে রাখুন যে আপনার যেকোনো চেঞ্জ স্টাফ ব্রেক করতে পারে। আপনার টুইকগুলো সফটওয়্যার আপডেটের পর ওভাররাইট হওয়ার সম্ভাবনাও আছে।
ফিল্টার এবং ফাইন্ড
আপনি যদি কোনো নির্দিষ্ট রুল লোকেট করার চেষ্টা করেন, তবে লিস্টে আপ-ডাউন স্ক্রল করার বদলে এর সার্চ ফিচার ব্যবহার করতে পারেন। আপনার কিবোর্ডে Ctrl + F প্রেস করুন, এবং জাইট-এর উইন্ডোর নিচে একটি সার্চ ফিল্ড পপ আপ হবে। আপনার সার্চ টার্ম লিখুন যে টাস্কটি খুঁজতে চান।
এখন আপনি জানেন জাইট ব্যবহার করে লিনাক্সে ক্রন জব কীভাবে তৈরি করবেন, আপনি কি crontab ব্যবহার করে আপনার সিস্টেম অটোমেট করার ভালো ব্যবহার করবেন? বিকল্পভাবে, আপনি systemd-ও ব্যবহার করতে পারেন ক্রন রিপ্লেসমেন্ট হিসেবে।