আমি কীভাবে ক্রন জব সেট আপ করব?

আমি নিয়মিত চালানোর জন্য একটি টাস্ক নির্দিষ্ট সময় নির্ধারণের জন্য চান এবং শস্যদানা এই কাজ করার উপায় যে শুনেছেন.

আমি কীভাবে উবুন্টুতে ক্রন জব যুক্ত করব?

এই ফোল্ডারগুলির মধ্যে একটিতে শেল স্ক্রিপ্ট রাখুন: /etc/cron.daily, /etc/cron.hourly, /etc/cron.monthly অথবা /etc/cron.weekly.

এই আপনার জন্য যথেষ্ট না হয়, তাহলে আপনি যেমন আরো নির্দিষ্ট কর্ম যোগ করতে পারেন মাসে দুবার বা প্রতি 5 মিনিট. টার্মিনালে যান এবং টাইপ করুন:

crontab -e

এটি আপনার ব্যক্তিগত ক্রন্টব খুলবে (ক্রন কনফিগারেশন ফাইল). সেই ফাইলের প্রথম লাইনটি এটি সমস্ত ব্যাখ্যা করে! প্রতিটি লাইনে আপনি চালানোর জন্য এক কমান্ড এবং তার সময়সূচী নির্ধারণ করতে পারবেন, এবং বিন্যাস বেশ সহজ যখন আপনি এটা আসে পেতে. কাঠামো হয়:

minute hour day-of-month month day-of-week command

সমস্ত সংখ্যার জন্য আপনি তালিকা ব্যবহার করতে পারেন, যেমন 5,34,55 মিনিট ক্ষেত্রে চালান অর্থ হবে 5 অতীত, 34 অতীত, এবং 55 গত যাই হোক না কেন ঘন্টা সংজ্ঞায়িত করা হয়.

আপনি অন্তর ব্যবহার করতে পারেন. তারা এই মত সংজ্ঞায়িত করা হয়: */20. এই উদাহরণটির অর্থ প্রতি 20 তম, সুতরাং মিনিট কলামে এটি সমতুল্য 0,20,40.

সুতরাং প্রতি সোমবার বিকেলে 5:30 এ একটি কমান্ড চালানোর জন্য:

30 17 * * 1 /path/to/command

অথবা প্রতি 15 মিনিট

*/15 * * * * /path/to/command

মনে রাখবেন যে সপ্তাহের দিন থেকে যায় 0-6 যেখানে 0 রবিবার.

আপনি আরও পড়তে পারেন এখানে.

আপনি যে কাজটি চালাতে চান তা যদি আপনার ব্যবহারকারীর মতো একই সুবিধাগুলি দিয়ে চালানো যেতে পারে তবে আমি একটি ব্যবহারকারী ক্রন্টব ব্যবহার করার পরামর্শ দিচ্ছি যা আপনি চালিয়ে সম্পাদনা করতে পারেন EDITOR="gedit" crontab -e (যা ক্রন্টব ফাইলটি সম্পাদনা করতে জিএডিট ব্যবহার করবে) বা সহজভাবে crontab -e একটি টার্মিনালে (ডিফল্ট সম্পাদক ব্যবহার করা হবে যা).

আপনি যদি প্রতি 10 মিনিটে কিছু চালাতে চান, উদাহরণস্বরূপ, আপনি এর মতো একটি লাইন যুক্ত করুন

*/10 * * * * /usr/bin/somedirectory/somecommand

ফাইলটি সংরক্ষণ করুন

আপনি ব্যবহারকারীর ক্রন্টাবের বিষয়বস্তু দেখতে পারেন crontab -l.

রুট হিসাবে চালিত ক্রন জব যুক্ত করতে, আপনি চালিয়ে রুটের ক্রন্টব সম্পাদনা করতে পারেন sudo crontab -e.

সবচেয়ে নমনীয় উপায় সিস্টেম ক্রন্টব ব্যবহার করা হয় /etc/crontab যা আপনি শুধুমাত্র রুট বিশেষাধিকার সঙ্গে সম্পাদনা করতে পারেন. এই ফাইলের মধ্যে, ব্যবহারকারী প্রতিটি কমান্ড নির্দিষ্ট করা হয় হিসাবে চালানো হবে, তাই আপনি রুট হিসাবে আপনার কমান্ড চালাতে পারেন (যদি আপনি বিশেষাধিকার যে স্তর প্রয়োজন) বা সিস্টেমে অন্য কোন ব্যবহারকারী.

উদাহরণস্বরূপ, আপনি যদি রুট হিসাবে প্রতি 10 মিনিটে কিছু চালাতে চান তবে আপনি এটির মতো একটি লাইন যুক্ত করবেন

*/10 * * * * root /usr/bin/somedirectory/somecommand

(লাইনে ব্যবহারকারীর সংযোজন লক্ষ্য করুন)

আপনি সিস্টেম ক্রন্টব ফাইলের বিষয়বস্তু দেখতে পারেন cat /etc/crontab.

আরো বিস্তারিত এখানে: https://help.ubuntu.com/community/CronHowto

আপনি যদি জিইউআই ব্যবহার করে এটি করতে পছন্দ করেন তবে আপনি সফ্টওয়্যার সেন্টারে গিয়ে ইনস্টল করতে পারেন নির্ধারিত কাজ (বা চালান sudo apt-get install gnome-schedule). এটা শস্যদানা কাজগুলো যোগ করার জন্য একটি শক্তিশালী গ্রাফিক্যাল ইউজার ইন্টারফেস প্রদান করবে.

মনে রাখবেন যে আপনি যদি এই পদ্ধতিটি ব্যবহার করেন তবে ডিফল্টরূপে কার্যগুলি আপনার নিজের ব্যবহারকারী হিসাবে কার্যকর করা হবে, রুট হিসাবে নয় এটি সাধারণত একটি ভাল জিনিস.

আমি সুপারিশ কেডিই এর টাস্ক শিডিয়ুলার (kde-config-cron) . থেকে এটি অ্যাক্সেস সিস্টেম সেটিংস মধ্যে টাস্ক শিডিয়ুলার সেখানে মডিউল

এটি ব্যক্তিগত এবং সিস্টেম ক্রোনট্যাব উভয়ই পরিচালনা করে এবং সময়ের সীমানা তৈরির স্বাচ্ছন্দ্য আমাকে অবাক করে দেয় (নীচের স্ক্রিনশটটি দেখুন) আমি মনে করি এই অংশ সত্যিই আন্ডাররেটেড হয়.

কে. ডি. ই. টাস্ক নির্ধারণকারী নিয়মিত উবুন্টু কাজ করবে না. এটি কেবল কুবুন্টুর মতো কেডিই সিস্টেমে কাজ করে নন কেডিই সিস্টেমের জন্য আপনি জিনোম-শিডিউল ব্যবহার করতে পছন্দ করবেন

$ sudo apt-get install gnome-schedule

অ্যাপ্লিকেশন ড্যাশ কর্ম নির্ধারিত হয়.

আমি একটি ব্যাশ স্ক্রিপ্ট মাধ্যমে চালানোর জন্য একটি শস্যদানা কাজ সেট করতে চেয়েছিলেন, তাই স্ক্রিপ্ট নির্বাহ একটি শস্যদানা কাজ যোগ হবে.

আমি বুঝতে পারি যে আপনি যখন ব্যবহার করেন:

crontab -e 

তারপর এটি ফাইল তৈরি করে:

/var/spool/cron/crontabs/root

রুট ক্রন্টব কমান্ড চলমান চলমান ব্যবহারকারীর নাম কোথায়. সুতরাং এর উপর ভিত্তি করে এবং কমপক্ষে 14.04 সালে, আমরা একটি নতুন ক্রন কাজ তৈরি করতে নিম্নলিখিত ব্যাশ কমান্ডগুলি কার্যকর করতে পারি:

echo "30 17 * * 1 /path/to/command" > /var/spool/cron/crontabs/root

আমরা ফাইলের জন্য সঠিক মালিকানা সেট করতে হবে:

chown root:root /var/spool/cron/crontabs/root

এবং সঠিক অনুমতি সেট করুন:

chmod 600 /var/spool/cron/crontabs/root

যদি আপনি চালান crontab -e তালিকায় ইতিমধ্যে ক্রন কাজ রয়েছে, তারপরে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করে তালিকায় যুক্ত করতে সক্ষম হন:

echo "30 17 * * 1 /path/to/command" >> /var/spool/cron/crontabs/root

স্ক্রিপ্ট চলমান উদাহরণ test_cron.sh সিম্বলিক লিঙ্ক ব্যবহার করে উবুন্টু 18.04 এ প্রতি মিনিটে ক্রন দ্বারা:

test_cron.sh ফাইল:

#!/bin/bashecho "System backuped" >> /media/myname/data/backup/backup_tmp.log

আপনি যদি আপনার স্ক্রিপ্টে পরিবেশের ভেরিয়েবলগুলি ব্যবহার করতে চান তবে $USER পাথ এটা সুনির্দিষ্ট পাথ টাইপ করা ভাল, ব্যাশ মৃত্যুদন্ড সময়ে আপনার ভেরিয়েবল জানতে হবে না.

myname ব্যবহারকারীর নাম (রুট গ্রুপ অংশ, আমি রুট বিশেষাধিকার প্রয়োজন হয় তা নিশ্চিত নই).

ব্যবহারকারীদের ক্রন কাজ সেট করার অনুমতি দিন, প্রয়োজনে ফাইল তৈরি করা হবে:

sudo nano /etc/cron.allowrootmyname

স্ক্রিপ্টের পথ হল /home/myname/shell/test_cron.sh

আমি মালিক পরিবর্তন এবং এটি এক্সিকিউটেবল তৈরি:

sudo chown myname /home/myname/shell/test_cron.shchmod +x /home/myname/shell/test_cron.sh

আমি প্রতীকী লিঙ্ক যুক্ত করেছি:

sudo ln -s /home/myname/shell/test_cron.sh /usr/bin/test_cron

নতুন নামে লগইন করা হয়েছে myname আমি চালানো নতুন টাস্ক যোগ test_cron প্রতি মিনিটে.

crontab -e*/1 * * * * test_cron

তালিকায় কমান্ড কিনা তা পরীক্ষা করতে:

crontab -l*/1 * * * * test_cron

এক্সিকিউশন চেক করতে

grep -i cron /var/log/syslogNov 17 12:28:01 myname-ubuntu CRON[13947]: (myname) CMD (system-backup)

আপনি বিবেচনা একাধিক ক্রন কাজ বিশেষ ব্যবহারকারীর সাথে এবং তারা একই সময়সূচী ভাগ করে না. আপনি শুধু সহজ অধীনে ফাইল তৈরি করতে পারেন /etc/cron.d/ফাইলের নাম বলতে দেয় myjobs তারপর শুধু যে ফাইলে আপনার সব নির্ধারণ লিখুন এবং তারপর কমান্ড নিম্নলিখিত চালানো.

crontab -u <username> /etc/cron.d/myjobs