আমার সিসাদমিন আমার মেশিনে ক্রোন জবসের একটি গুচ্ছ সেটআপ করেছে। আমি ঠিক কি সময় নির্ধারিত তা জানতে চাই। আমি কীভাবে এই তালিকা পেতে পারি?
আমার সিসাদমিন আমার মেশিনে ক্রোন জবসের একটি গুচ্ছ সেটআপ করেছে। আমি ঠিক কি সময় নির্ধারিত তা জানতে চাই। আমি কীভাবে এই তালিকা পেতে পারি?
উত্তর:
আপনার লিনাক্স সিস্টেমটি কীভাবে সেট আপ করা হয়েছে তার উপর নির্ভর করে আপনি দেখতে পারেন:
/var/spool/cron/*
(ব্যবহারকারী crontabs)/etc/crontab
(সিস্টেম-ব্যাপী ক্রোনটব)এছাড়াও, অনেক ডিস্ট্রোদের রয়েছে:
/etc/cron.d/*
এই কনফিগারেশনগুলির মতো একই বাক্য গঠন রয়েছে /etc/crontab
/etc/cron.hourly
, /etc/cron.daily
, /etc/cron.weekly
,/etc/cron.monthly
এগুলি কেবলমাত্র ডিরেক্টরিগুলি যা এক্সিকিউটেবলগুলি ধারণ করে যা তাদের ডিরেক্টরি নাম হিসাবে প্রতি ঘন্টা, দৈনিক, সাপ্তাহিক বা মাসিক সম্পাদিত হয়।
/var/spool/at/*
সর্বোপরি, আপনি চাকরীতে ( চেক ), অ্যানাক্রন ( /etc/anacrontab
এবং /var/spool/anacron/*
) এবং সম্ভবত অন্যরা ভুলে যাবেন ।
/etc/cron.daily
। daily
ফাইলটি কীভাবে কাজ করে? প্রতিদিনের কাজগুলি কখন চলবে? আমার মেশিনে তারা দুপুরের দিকে ছুটে চলেছে বলে মনে হচ্ছে, তবে এটি আমার সিসাদমিনকে বলতে চাইবে যে কীভাবে পরিবর্তিত হয়ে মধ্যরাতে পরিবর্তন করা যায়।
/etc/crontab
, যেমন আমার উবুন্টু সিস্টেমে এটি: 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
যার অর্থ সকাল :25:২৪ ।
cronie
কনফিগারেশনটি ব্যবহার করে তাদের যত্ন নেয় /etc/anacrontab
।
/var/cron
খুব।
বেশিরভাগ ক্রোন (উদাহরণস্বরূপ ভিক্সি -ক্রোন - ডিবিয়ান / উবুন্টু ডিফল্ট, ক্রোনী - ফেডোরা ডিফল্ট, সোলারিস ক্রোন ...) আপনি বর্তমান ব্যবহারকারীর জন্য নির্ধারিত ক্রোন কাজের তালিকার মাধ্যমে পাবেন:
$ crontab -l
বা অন্য ব্যবহারকারীর মাধ্যমে
# crontab -l -u juser
সমস্ত ব্যবহারকারীর জন্য ক্রন্টব্যাবগুলি পেতে আপনি সমস্ত ব্যবহারকারীর উপর লুপ করতে পারেন এবং এই আদেশটি কল করতে পারেন।
বিকল্পভাবে, আপনি স্পুল ফাইলগুলি সন্ধান করতে পারেন। সাধারণত, সেগুলি নীচে সংরক্ষণ করা হয় /var/spool/cron
, যেমন ভ্যাক্রন নিম্নলিখিত ডিরেক্টরিগুলির জন্য
/var/spool/cron/crontabs
সমস্ত ব্যবহারকারীর সমস্ত কনফিগার করা ক্রোনট্যাব রয়েছে - মূল ব্যবহারকারী ব্যতীত যিনি সিস্টেম-ওয়াইড ক্রন্টব দ্বারা কাজগুলি কনফিগার করতে সক্ষম হন, যা এখানে অবস্থিত
/etc/crontab
সঙ্গে cronie (ফেডোরা / সেন্টওএস উপর ডিফল্ট), একটি হল .d
সিস্টেম cron কাজ, পাশাপাশি জন্য শৈলী কনফিগ ডিরেক্টরি:
/etc/cron.d
(সর্বদা হিসাবে, .d
ডিরেক্টরিটি বিভিন্ন প্যাকেজের অংশ কনফিগারেশন এন্ট্রি রক্ষণাবেক্ষণকে সহজতর করে))
সুবিধার জন্য, বেশিরভাগ বিতরণ এমন একটি ডিরেক্টরিও সরবরাহ করে যেখানে লিঙ্কযুক্ত / সঞ্চিত স্ক্রিপ্টগুলি পর্যায়ক্রমে সম্পাদিত হয়, যেমন:
/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly
এই স্ক্রিপ্টগুলির সময়োপযোগী সম্পাদন সাধারণত run-parts
সিস্টেম ক্রন্টবায় প্রবেশের মাধ্যমে বা অ্যানক্রোন দ্বারা পরিচালিত হয় ।
সঙ্গে systemd (যেমন ফেডোরা উপর, সেন্টওএস 7, ...) পর্যায়ক্রমিক কাজ সম্পাদন অতিরিক্ত মাধ্যমে কনফিগার করা যেতে পারে টাইমার ইউনিট । সক্ষম সিস্টেম টাইমার এর মাধ্যমে প্রদর্শিত হতে পারে:
$ systemctl list-timers
নোট করুন যে রুটের পাশের ব্যবহারকারীদের ব্যবহারকারী সিস্টেমে দৃষ্টান্ত থাকতে পারে যেখানে টাইমারগুলিও কনফিগার করা আছে। উদাহরণস্বরূপ, ফেডোরায়, ডিফল্টরূপে, বর্তমানে লগইন থাকা প্রতিটি ব্যবহারকারীর জন্য একটি ব্যবহারকারী সিস্টেমড উদাহরণ শুরু করা হয় They সেগুলি এর মাধ্যমে সনাক্ত করা যায়:
$ ps aux | grep 'systemd[ ]--user'
এই ব্যবহারকারী টাইমারগুলির মাধ্যমে তালিকাভুক্ত করা যেতে পারে:
$ systemctl --user list-timers
list-timers
কমান্ড জারি করার বিকল্পটি হ'ল টাইমার ইউনিট ফাইলগুলি (প্যাটার্ন *.timer
:) এবং তাদের সাথে সাধারণ সিস্টেমে এবং ব্যবহারকারী সিস্টেমযুক্ত কনফিগারেশন ডিরেক্টরিগুলিতে প্রতীকী লিঙ্কগুলি অনুসন্ধান করা:
$ find /usr/lib/systemd/ /etc/systemd -name '*.timer'
$ find /home '(' -path '/home/*/.local/share/systemd/user/*' \
-o -path '/home/*/.config/systemd/*' ')' \
-name '*.timer' 2> /dev/null
(সাধারণ পরিষেবা ইউনিটগুলির মতো, ডায়াল সিস্টেমে কনফিগার ডিরেক্টরিতে একটি প্রতীকী লিঙ্ক তৈরির মাধ্যমে একটি টাইমার ইউনিট সক্ষম করা হবে))
আরো দেখুন:
crontab -l -u root
(কারণ সেই ক্রোনজগুলি যেগুলি রানের অধীনে জানতে চাই root
) এবং এটি বলে যে আমার ব্যবহার করার অধিকার নেই -u
।
root
ব্যবহারকারী হিসাবে ।
cronie
যেমনটি ফেডোরা এবং আরএইচইএল 6-এ প্রেরণ করা হয়েছে, সেগুলিকে উল্লেখ না করে /etc/crontab
পরিবর্তে ব্যবহার করুন /etc/anacrontab
। আমি কোনও বাস্তব রূপায়ণ সম্পর্কে ভুল হতে পারি যা কোনও কনফিগার ফাইলে এগুলি উল্লেখ করে না। (তবে তারপরেও, আমি
প্রদত্ত ব্যবহারকারীর জন্য সমস্ত ক্রোন তালিকাবদ্ধ করতে।
crontab -u ব্যবহারকারীর নাম -l;
সমস্ত ব্যবহারকারীর জন্য সমস্ত ক্রোন তালিকাবদ্ধ করতে
এটি একটি সুপার ব্যবহারকারী হিসাবে চালান
#!/bin/bash
#List all cron jobs for all users
for user in `cat /etc/passwd | cut -d":" -f1`;
do
crontab -l -u $user;
done
root
বাapache
বা যাই হোক না কেন, কিন্তু এক উচিত ব্যবহার/etc/crontab
বা (ভাল, সবচেয়ে ডিস্ট্রো মধ্যে)/etc/cron.d
এবং/etc/cron.[timeframe]
।