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

মাস্টার লিনাক্স ক্রন্টাব:15টি বিশেষজ্ঞ ক্রন কাজের সময় নির্ধারণের উদাহরণ

মাস্টার লিনাক্স ক্রন্টাব:15টি বিশেষজ্ঞ ক্রন কাজের সময় নির্ধারণের উদাহরণ একজন অভিজ্ঞ Linux sysadmin ব্যাকগ্রাউন্ডে স্বয়ংক্রিয়ভাবে রুটিন রক্ষণাবেক্ষণ কাজ চালানোর গুরুত্ব জানেন।

লিনাক্স ক্রন ইউটিলিটি একটি নির্দিষ্ট সময় এবং/অথবা দিনে চলমান ভিত্তিতে একটি রুটিন ব্যাকগ্রাউন্ড কাজের সময় নির্ধারণের একটি কার্যকর উপায়।

এই নিবন্ধটি গীক্স সিরিজের জন্য চলমান উৎপাদনশীলতা টিপসের অংশ। এই নিবন্ধে, আসুন আমরা ক্রনট্যাব কাজের সময় নির্ধারণের 15টি দুর্দান্ত উদাহরণ পর্যালোচনা করি।

Linux Crontab বিন্যাস

MIN HOUR DOM MON DOW CMD
ক্ষেত্র বিবরণ অনুমোদিত মান MINমিনিট ফিল্ড0 থেকে 59HOURHour ফিল্ড0 থেকে 23 মাসের 23DOMDদিন 1-31MONMonth ফিল্ড1-12DOWDay of Week0-6CMDCcommandযেকোন কমান্ড কার্যকর করতে হবে।

1. একটি নির্দিষ্ট সময়ের জন্য একটি কাজের সময় নির্ধারণ

ক্রনের মৌলিক ব্যবহার হল একটি নির্দিষ্ট সময়ে একটি কাজ সম্পাদন করা যা নীচে দেখানো হয়েছে। এটি 10 জুন 08:30 AM-এ সম্পূর্ণ ব্যাকআপ শেল স্ক্রিপ্ট (পূর্ণ-ব্যাকআপ) কার্যকর করবে .

দয়া করে মনে রাখবেন যে সময় ক্ষেত্রটি 24 ঘন্টা বিন্যাস ব্যবহার করে। সুতরাং, সকাল 8 এর জন্য 8 ব্যবহার করুন এবং 8 PM এর জন্য 20 ব্যবহার করুন।

30 08 10 06 * /home/ramesh/full-backup
  • 30 – ৩০তম মিনিট
  • 08 – 08 AM
  • 10 - 10 তম দিন
  • 06 – ৬ষ্ঠ মাস (জুন)
  • * - সপ্তাহের প্রতিটি দিন

2. একের বেশি ঘটনার জন্য একটি কাজের সময় নির্ধারণ করুন (যেমন দিনে দুবার)

নিম্নলিখিত স্ক্রিপ্টটি প্রতিদিন দুবার একটি বর্ধিত ব্যাকআপ নেয়।

এই উদাহরণটি প্রতিদিন 11:00 এবং 16:00 এ নির্দিষ্ট ক্রমবর্ধমান ব্যাকআপ শেল স্ক্রিপ্ট (বৃদ্ধিমূলক-ব্যাকআপ) কার্যকর করে। একটি ক্ষেত্রের কমা দ্বারা পৃথক করা মান উল্লেখ করে যে কমান্ডটি উল্লিখিত সমস্ত সময়ে কার্যকর করা প্রয়োজন৷

00 11,16 * * * /home/ramesh/bin/incremental-backup
  • 00 – 0ম মিনিট (ঘন্টার উপরে)
  • 11,16 – সকাল ১১টা এবং বিকেল ৪টা
  • * - প্রতিদিন
  • * – প্রতি মাসে
  • * - সপ্তাহের প্রতিটি দিন

3. নির্দিষ্ট সময়ের জন্য একটি কাজের সময় নির্ধারণ করুন (যেমন শুধুমাত্র সপ্তাহের দিনগুলিতে)

আপনি যদি একটি নির্দিষ্ট সময়ের সাথে প্রতি ঘন্টার জন্য একটি কাজ নির্ধারণ করতে চান তবে নিম্নলিখিতগুলি ব্যবহার করুন৷

কাজের সময় প্রতিদিন ক্রোন জব

এই উদাহরণটি প্রতিদিন (সাপ্তাহিক ছুটি সহ) কাজের সময় সকাল 9টা থেকে সন্ধ্যা 6টা

ডাটাবেসের স্থিতি পরীক্ষা করে
00 09-18 * * * /home/ramesh/bin/check-db-status
  • 00 – 0ম মিনিট (ঘন্টার উপরে)
  • 09-18 – সকাল ৯টা, সকাল ১০টা, ১১টা, ১২টা, দুপুর ১টা, দুপুর ২টা, বিকেল ৩টা, বিকেল ৪টা, বিকেল ৫টা, সন্ধ্যা ৬টা
  • * - প্রতিদিন
  • * – প্রতি মাসে
  • * - সপ্তাহের প্রতিটি দিন

কাজের সময় প্রতি সপ্তাহের দিন ক্রন জব

এই উদাহরণটি প্রতিদিন সকাল 9টা থেকে সন্ধ্যা 6টা পর্যন্ত কাজের সময় (অর্থাৎ শনি ও রবি বাদে) ডাটাবেসের স্থিতি পরীক্ষা করে।

00 09-18 * * 1-5 /home/ramesh/bin/check-db-status
  • 00 – 0ম মিনিট (ঘন্টার উপরে)
  • 09-18 – সকাল ৯টা, সকাল ১০টা, ১১টা, ১২টা, দুপুর ১টা, দুপুর ২টা, বিকেল ৩টা, বিকেল ৪টা, বিকেল ৫টা, সন্ধ্যা ৬টা
  • * - প্রতিদিন
  • * – প্রতি মাসে
  • 1-5 -সোম, মঙ্গল, বুধ, বৃহস্পতি এবং শুক্র (প্রতি সপ্তাহের দিন)

4. কিভাবে ক্রন্টাব এন্ট্রি দেখতে হয়?

বর্তমান লগ-ইন ব্যবহারকারীর ক্রন্টাব এন্ট্রিগুলি দেখুন

আপনার crontab এন্ট্রি দেখতে নিচে দেখানো হিসাবে আপনার ইউনিক্স অ্যাকাউন্ট থেকে crontab -l টাইপ করুন।

ramesh@dev-db$ crontab -l
@yearly /home/ramesh/annual-maintenance
*/10 * * * * /home/ramesh/check-disk-space
[Note: This displays crontab of the current logged in user]

রুট ক্রন্টাব এন্ট্রিগুলি দেখুন

রুট ব্যবহারকারী (su – রুট) হিসাবে লগইন করুন এবং নীচে দেখানো হিসাবে crontab -l করুন।

root@dev-db# crontab -l
no crontab for root

Crontab HowTo:অন্যান্য Linux ব্যবহারকারীর Crontabs এন্ট্রিগুলি দেখুন

অন্যান্য লিনাক্স ব্যবহারকারীদের ক্রন্টাব এন্ট্রি দেখতে, রুটে লগইন করুন এবং -u {username} -l ব্যবহার করুন নীচে দেখানো হিসাবে।

root@dev-db# crontab -u sathiya -l
@monthly /home/sathiya/monthly-backup
00 09-18 * * * /home/sathiya/check-db-status

5. কিভাবে ক্রন্টাব এন্ট্রি সম্পাদনা করবেন?

বর্তমান লগ-ইন ব্যবহারকারীর ক্রন্টাব এন্ট্রি সম্পাদনা করুন

একটি crontab এন্ট্রি সম্পাদনা করতে, নিচে দেখানো হিসাবে crontab -e ব্যবহার করুন। ডিফল্টরূপে এটি বর্তমান লগ-ইন ব্যবহারকারীদের ক্রনট্যাব সম্পাদনা করবে।

ramesh@dev-db$ crontab -e
@yearly /home/ramesh/centos/bin/annual-maintenance
*/10 * * * * /home/ramesh/debian/bin/check-disk-space
~
"/tmp/crontab.XXXXyjWkHw" 2L, 83C
[Note: This will open the crontab file in Vim editor for editing.
Please note cron created a temporary /tmp/crontab.XX... ]

আপনি যখন উপরের অস্থায়ী ফাইলটি :wq এর সাথে সংরক্ষণ করেন, তখন এটি ক্রনট্যাব সংরক্ষণ করবে এবং ক্রন্টাব সফলভাবে পরিবর্তিত হয়েছে তা নির্দেশ করে নিম্নলিখিত বার্তাটি প্রদর্শন করবে৷

~
"crontab.XXXXyjWkHw" 2L, 83C written
crontab: installing new crontab

রুট ক্রন্টাব এন্ট্রি সম্পাদনা করুন

রুট ব্যবহারকারী (su – রুট) হিসাবে লগইন করুন এবং নীচে দেখানো হিসাবে crontab -e করুন।

root@dev-db# crontab -e

অন্যান্য Linux ব্যবহারকারীর Crontab ফাইল এন্ট্রি সম্পাদনা করুন

অন্যান্য লিনাক্স ব্যবহারকারীদের ক্রন্টাব এন্ট্রি সম্পাদনা করতে, রুটে লগইন করুন এবং -u {username} -e ব্যবহার করুন নীচে দেখানো হিসাবে।

root@dev-db# crontab -u sathiya -e
@monthly /home/sathiya/fedora/bin/monthly-backup
00 09-18 * * * /home/sathiya/ubuntu/bin/check-db-status
~
~
~
"/tmp/crontab.XXXXyjWkHw" 2L, 83C

6. ক্রোন ব্যবহার করে প্রতি মিনিটের জন্য একটি কাজের সময় নির্ধারণ করুন৷

আদর্শভাবে আপনার প্রতি মিনিটে একটি কাজের সময় নির্ধারণ করার প্রয়োজন নাও থাকতে পারে। কিন্তু এই উদাহরণটি বোঝা আপনাকে এই নিবন্ধে নীচে উল্লিখিত অন্যান্য উদাহরণগুলি বুঝতে সাহায্য করবে৷

* * * * * CMD

* মানে সমস্ত সম্ভাব্য একক — অর্থাৎ সারা বছর ধরে প্রতি ঘন্টার প্রতি মিনিট। এই *টি সরাসরি ব্যবহার করার চেয়ে, আপনি নিম্নলিখিত ক্ষেত্রে এটি খুব দরকারী পাবেন।

  • যখন আপনি */5 মিনিট ফিল্ডে উল্লেখ করেন মানে প্রতি 5 মিনিটে।
  • যখন আপনি মিনিট ফিল্ডে 0-10/2 নির্দিষ্ট করেন মানে প্রথম 10 মিনিটে প্রতি 2 মিনিট।
  • এইভাবে উপরের কনভেনশনটি অন্য 4টি ক্ষেত্রের জন্য ব্যবহার করা যেতে পারে।

7. প্রতি 10 মিনিটের জন্য একটি পটভূমি ক্রোন কাজের সময়সূচী করুন৷

আপনি যদি প্রতি 10 মিনিটে ডিস্কের স্থান পরীক্ষা করতে চান তবে নিম্নলিখিতটি ব্যবহার করুন৷

*/10 * * * * /home/ramesh/check-disk-space

এটি সারা বছর ধরে প্রতি 10 মিনিটে নির্দিষ্ট কমান্ড চেক-ডিস্ক-স্পেস চালায়। কিন্তু আপনার শুধুমাত্র অফিসের সময় বা তার বিপরীতে কমান্ড কার্যকর করার প্রয়োজন হতে পারে। উপরের উদাহরণগুলি সেই জিনিসগুলি কীভাবে করতে হয় তা দেখায়।

5টি ক্ষেত্রে মান নির্দিষ্ট করার পরিবর্তে, আমরা নীচে উল্লিখিত একটি একক কীওয়ার্ড ব্যবহার করে এটি নির্দিষ্ট করতে পারি।

কিছু বিশেষ ক্ষেত্রে রয়েছে যেখানে উপরের 5টি ক্ষেত্রের পরিবর্তে আপনি @ ব্যবহার করতে পারেন একটি কীওয়ার্ড - যেমন রিবুট, মিডনাইট, বার্ষিক, ঘন্টায়৷

কীওয়ার্ড সমতুল্য @yearly0 0 1 1 *@daily0 0 * * *@hourly0 * * * *@rebootRun স্টার্টআপে।

8. @yearly

ব্যবহার করে প্রতি বছরের প্রথম মিনিটের জন্য একটি কাজের সময় নির্ধারণ করুন

আপনি যদি প্রতি বছরের প্রথম মিনিটে একটি কাজ সম্পাদন করতে চান, তাহলে আপনি @বার্ষিক ব্যবহার করতে পারেন নিচে দেখানো হিসাবে cron কীওয়ার্ড।

এটি প্রতি বছরের জন্য 1লা জানুয়ারী 00:00 এ বার্ষিক-রক্ষণাবেক্ষণ শেল স্ক্রিপ্ট ব্যবহার করে সিস্টেম বার্ষিক রক্ষণাবেক্ষণ চালাবে।

@yearly /home/ramesh/red-hat/bin/annual-maintenance

9. @monthly

ব্যবহার করে প্রতি মাসের শুরুতে একটি ক্রোন কাজের সময়সূচী করুন

এটি উপরের হিসাবে @বার্ষিক হিসাবে অনুরূপ। কিন্তু @monthly ব্যবহার করে প্রতি মাসে একবার কমান্ড চালায় ক্রন কীওয়ার্ড।

এটি প্রতি মাসের 1 তারিখে 00:00 এ শেল স্ক্রিপ্ট টেপ-ব্যাকআপ কার্যকর করবে৷

@monthly /home/ramesh/suse/bin/tape-backup

10. @daily

ব্যবহার করে প্রতিদিন একটি পটভূমি কাজের সময় নির্ধারণ করুন

@daily ব্যবহার করা হচ্ছে ক্রন কীওয়ার্ড, এটি প্রতিদিন ক্লিনআপ-লগ শেল স্ক্রিপ্ট্যাট 00:00 ব্যবহার করে একটি দৈনিক লগ ফাইল পরিষ্কার করবে।

@daily /home/ramesh/arch-linux/bin/cleanup-logs "day started"

11. @reboot?

ব্যবহার করে প্রতিবার রিবুট করার পর কিভাবে একটি লিনাক্স কমান্ড এক্সিকিউট করবেন

@reboot ব্যবহার করা হচ্ছে ক্রন কীওয়ার্ড, এটি প্রতিবার মেশিন বুট করার পরে একবার নির্দিষ্ট কমান্ডটি কার্যকর করবে।

@reboot CMD

12. কিভাবে MAIL কীওয়ার্ড ব্যবহার করে ক্রন্টাব মেল আউটপুট নিষ্ক্রিয়/পুনঃনির্দেশ করবেন?

ডিফল্টরূপে ক্রনট্যাব কাজের আউটপুট সেই ব্যবহারকারীকে পাঠায় যে কাজটি নির্ধারণ করেছে। আপনি যদি আউটপুটটি একটি নির্দিষ্ট ব্যবহারকারীর কাছে পুনঃনির্দেশ করতে চান, তাহলে নীচে দেখানো হিসাবে ক্রনট্যাবে MAIL ভেরিয়েবল যোগ করুন বা আপডেট করুন৷

ramesh@dev-db$ crontab -l
MAIL="ramesh"
@yearly /home/ramesh/annual-maintenance
*/10 * * * * /home/ramesh/check-disk-space
[Note: Crontab of the current logged in user with MAIL variable]


আপনি যদি চান যে মেলটি কোথাও পাঠানো না হোক, অর্থাৎ ক্রন্টাব আউটপুটকে ইমেল করা বন্ধ করতে, নীচে দেখানো হিসাবে ক্রনট্যাবে MAIL ভেরিয়েবল যোগ বা আপডেট করুন৷

MAIL=""

13. ক্রনট্যাব ব্যবহার করে প্রতি সেকেন্ডে একটি লিনাক্স ক্রন জবস কিভাবে এক্সিকিউট করবেন।

আপনি প্রতি-সেকেন্ড ক্রনজবের সময় নির্ধারণ করতে পারবেন না। কারণ ক্রনে আপনি যে ন্যূনতম ইউনিটটি নির্দিষ্ট করতে পারেন তা হল মিনিট। একটি সাধারণ পরিস্থিতিতে, আমাদের বেশিরভাগেরই সিস্টেমে প্রতি সেকেন্ডে কোনো কাজ চালানোর কোনো কারণ নেই।

14. Crontab এ PATH ভেরিয়েবল নির্দিষ্ট করুন

উপরের সমস্ত উদাহরণে আমরা লিনাক্স কমান্ড বা শেল-স্ক্রিপ্টের পরম পথ নির্দিষ্ট করেছি যা কার্যকর করা দরকার।

উদাহরণস্বরূপ, /home/ramesh/tape-backup নির্দিষ্ট করার পরিবর্তে, আপনি যদি শুধু টেপ-ব্যাকআপ নির্দিষ্ট করতে চান, তাহলে নিচের মতো ক্রন্টাবের PATH ভেরিয়েবলে পাথ /home/ramesh যোগ করুন।

ramesh@dev-db$ crontab -l
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/home/ramesh
@yearly annual-maintenance
*/10 * * * * check-disk-space
[Note: Crontab of the current logged in user with PATH variable]

15. একটি ক্রোন ফাইল থেকে ক্রন্টাব ইনস্টল করা হচ্ছে

ক্রনট্যাব ফাইলটি সরাসরি সম্পাদনা করার পরিবর্তে, আপনি প্রথমে একটি ক্রোন-ফাইলে সমস্ত এন্ট্রি যোগ করতে পারেন। একবার আপনার কাছে ফাইলটিতে এই সমস্ত এন্ট্রি হয়ে গেলে, আপনি সেগুলিকে নীচে দেখানো হিসাবে ক্রোন-এ আপলোড বা ইনস্টল করতে পারেন৷

ramesh@dev-db$ crontab -l
no crontab for ramesh
$ cat cron-file.txt
@yearly /home/ramesh/annual-maintenance
*/10 * * * * /home/ramesh/check-disk-space
ramesh@dev-db$ crontab cron-file.txt
ramesh@dev-db$ crontab -l
@yearly /home/ramesh/annual-maintenance
*/10 * * * * /home/ramesh/check-disk-space

দ্রষ্টব্য: এটি আপনার crontab-এ cron-file.txt ইনস্টল করবে, যা আপনার পুরানো ক্রন এন্ট্রিগুলিকেও সরিয়ে দেবে। সুতরাং, একটি cron-file.txt থেকে ক্রন এন্ট্রি আপলোড করার সময় দয়া করে সতর্ক থাকুন৷

অতিরিক্ত ক্রোন টিউটোরিয়াল

  • ক্রোন বনাম অ্যানাক্রন:কীভাবে লিনাক্সে অ্যানাক্রন সেটআপ করবেন (একটি উদাহরণ সহ)
  • প্রতি ৫ মিনিট, সেকেন্ড, ঘন্টা, দিন, মাস কিভাবে ক্রোন চালাবেন
  • 6 Linux Crontab কমান্ডের উদাহরণ
  • ব্যাচ মোডে ক্রোন কাজগুলি কীভাবে ইনস্টল, সম্পাদনা বা সরান
  • 9টি উদাহরণ ব্যবহার করে at, atq, atrm, ব্যাচ কমান্ড বুঝুন

অসাধারণ লিনাক্স প্রবন্ধ

নিচে কয়েকটি দুর্দান্ত 15টি উদাহরণ দেওয়া হল নিবন্ধগুলি যা আপনি সহায়ক বলে মনে করতে পারেন৷

  • মা, আমি খুঁজে পেয়েছি! — 15টি ব্যবহারিক লিনাক্স কমান্ডের উদাহরণ খুঁজুন
  • লিনাক্স কমান্ড লাইন ইতিহাসে মাস্টার করার 15 উদাহরণ
  • Unix LS কমান্ড:15টি ব্যবহারিক উদাহরণ
  • গ্রেপের উপর আঁকড়ে ধরুন! – 15টি ব্যবহারিক গ্রেপ কমান্ডের উদাহরণ

  1. HTML DOM অ্যাঙ্কর অবজেক্ট

  2. C প্রোগ্রামের একটি 2-ডি ম্যাট্রিক্সে কোণার উপাদান এবং তাদের যোগফল প্রিন্ট করুন।

  3. এইচটিএমএল কম্পিউটার কোড উপাদান

  4. পাইথন - কিভাবে একটি পান্ডাস ডেটাফ্রেম থেকে নাল সারি ড্রপ করবেন