আমি নিয়মিতভাবে চালনার জন্য কোনও কাজ শিডিউল করতে চাই এবং শুনেছি ক্রোন এটি করার উপায়।
আমি কীভাবে উবুন্টুতে ক্রোন জব যুক্ত করব?
আমি নিয়মিতভাবে চালনার জন্য কোনও কাজ শিডিউল করতে চাই এবং শুনেছি ক্রোন এটি করার উপায়।
আমি কীভাবে উবুন্টুতে ক্রোন জব যুক্ত করব?
উত্তর:
এই ফোল্ডারগুলি এক একটি শেল স্ক্রিপ্ট রাখুন:: /etc/cron.daily
, /etc/cron.hourly
, /etc/cron.monthly
অথবা /etc/cron.weekly
।
যদি এটি আপনার পক্ষে পর্যাপ্ত না হয় তবে আপনি আরও সুনির্দিষ্ট কাজগুলি যুক্ত করতে পারেন যেমন মাসে দুইবার বা প্রতি 5 মিনিটে minutes টার্মিনালে যান এবং টাইপ করুন:
crontab -e
এটি আপনার ব্যক্তিগত crontab (ক্রোন কনফিগারেশন ফাইল) খুলবে। এই ফাইলের প্রথম লাইন এটি সমস্ত ব্যাখ্যা করে! প্রতিটি লাইনে আপনি চালনার জন্য একটি কমান্ড এবং এর সময়সূচী নির্ধারণ করতে পারেন এবং আপনি যখন এটির হ্যাং পাবেন তখন ফর্ম্যাটটি বেশ সহজ। কাঠামোটি হ'ল:
minute hour day-of-month month day-of-week command
সমস্ত সংখ্যার জন্য আপনি তালিকাগুলি ব্যবহার করতে পারেন, উদাহরণস্বরূপ 5,34,55
মিনিটের মাঠের অর্থ পাঁচটি অতীত, 34 অতীত এবং 55 টি অতীত যে কোনও সময় নির্ধারিত হবে run
অন্তরও ব্যবহার করতে পারেন। তারা এই মত সংজ্ঞায়িত করা হয়: */20
। এই উদাহরণটির অর্থ প্রতি 20 তম, সুতরাং মিনিটের কলামে এটি সমান 0,20,40
।
সুতরাং প্রতি সোমবার বিকেল সাড়ে ৫ টায় একটি কমান্ড চালাতে:
30 17 * * 1 /path/to/command
বা প্রতি 15 মিনিটে
*/15 * * * * /path/to/command
নোট করুন যে সপ্তাহের দিনটি 0-6 থেকে চলে যায় যেখানে 0 রবিবার হয়।
আপনি এখানে আরও পড়তে পারেন ।
*/15 * * * * /path/to/command
, আপনি @reboot /path/to/command
শুরুতে কিছু চালানোর জন্য করতে পারেন ।
আপনি যে কাজটি চালাতে চান তা যদি আপনার ব্যবহারকারীর মতো একই সুবিধাসমূহের সাথে চালানো যায় তবে আমি কোনও ব্যবহারকারী ক্রন্টব ব্যবহার করার পরামর্শ দিচ্ছি যা আপনি চালনা করে সম্পাদন করতে পারবেন 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/commune/CronHowto
আপনি যদি কোনও জিইউআই ব্যবহার করে এটি করতে পছন্দ করেন তবে আপনি সফ্টওয়্যার সেন্টারে গিয়ে নির্ধারিত কাজগুলি ইনস্টল করতে পারেন (বা রান করুন sudo apt-get install gnome-schedule
)। এটি ক্রোন কার্যগুলি যুক্ত করার জন্য একটি শক্তিশালী জিইউআই সরবরাহ করবে।
মনে রাখবেন যে আপনি যদি এই পদ্ধতিটি ব্যবহার করেন তবে ডিফল্টরূপে কার্যগুলি আপনার নিজস্ব ব্যবহারকারী হিসাবে কার্যকর হবে, মূল হিসাবে নয়। এটি সাধারণত একটি ভাল জিনিস।
আমি কেডিএর টাস্ক শিডিয়ুলার ( kde-config-cron
) প্রস্তাব দিই । তা থেকে অ্যাক্সেস করুন সিস্টেম সেটিংস মধ্যে কার্য পরিকল্পনাকারী সেখানে মডিউল।
এটি ব্যক্তিগত এবং সিস্টেম ক্রোনট্যাব উভয়ই পরিচালনা করে এবং সময়সীমা তৈরির স্বাচ্ছন্দ্য আমাকে বিস্মিত করে তোলে (নীচের স্ক্রিনশটটি দেখুন)। আমি মনে করি এই অংশটি সত্যই আন্ডাররেটেড।
কেডিএ টাস্ক শিডিয়ুলার নিয়মিত উবুন্টুতে কাজ করবে না। এটি কেবল বুਬੰ্টুর মতো কে-ডি-ই সিস্টেমগুলিতে কাজ করে। নন-কেডি সিস্টেমের জন্য আপনি জিনোম-শিডিউল ব্যবহার করতে পছন্দ করবেন
$ sudo apt-get install gnome-schedule
অ্যাপ্লিকেশনটি ড্যাশের মধ্যে নির্ধারিত কাজ।
I can't install gnome schedule on Ubuntu 16.04
@ জিজ্ঞাসুবন্টু / প্রশ্নগুলি / 85৮৫6565//২ দেখুন । @ Bugs.launchpad.net/ubuntu/+source/gnome-schedule/+bug/1576060/… ডাউনলোড করার জন্য একটি প্যাকেজ রয়েছে । কেবল সম্পাদন করুন$ sudo dpkg -i gnome-schedule_2.3.0-0ubuntu16.04_amd64.deb
আমি ব্যাশ স্ক্রিপ্টের মাধ্যমে চলার জন্য ক্রোন জব সেট করতে চেয়েছিলাম, সুতরাং স্ক্রিপ্টটি কার্যকর করা ক্রোন জব যুক্ত করবে।
আমি বুঝতে পারি যে আপনি যখন এটি ব্যবহার করেন:
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/bash
echo "System backuped" >> /media/myname/data/backup/backup_tmp.log
আপনি যদি আপনার স্ক্রিপ্টে $USER
পথের মতো পরিবেশের পরিবর্তনগুলি ব্যবহার করতে চান তবে সুনির্দিষ্ট পাথটি টাইপ করা ভাল, বাশ কার্যকর করার সময় আপনার ভেরিয়েবলগুলি জানতে পারবে না।
myname
ব্যবহারকারীর নাম (মূল গোষ্ঠীর অংশ, আমি নিশ্চিত নই যে মূল অধিকারগুলি প্রয়োজনীয়)।
ব্যবহারকারীদের ক্রোন জব সেট করার অনুমতি দিন, প্রয়োজনে ফাইল তৈরি করা হবে:
sudo nano /etc/cron.allow
root
myname
স্ক্রিপ্টের পথ /home/myname/shell/test_cron.sh
আমি মালিককে পরিবর্তন করে এটিকে সম্পাদনযোগ্য করে তুলেছি:
sudo chown myname /home/myname/shell/test_cron.sh
chmod +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/syslog
Nov 17 12:28:01 myname-ubuntu CRON[13947]: (myname) CMD (system-backup)