আমার মেশিনে সমস্ত নির্ধারিত ক্রোন কাজের তালিকা কীভাবে পাবেন?


201

আমার সিসাদমিন আমার মেশিনে ক্রোন জবসের একটি গুচ্ছ সেটআপ করেছে। আমি ঠিক কি সময় নির্ধারিত তা জানতে চাই। আমি কীভাবে এই তালিকা পেতে পারি?


3
এটি প্রশ্নের উত্তর নয়, তবে সেরা অনুশীলনের উপর একটি নোট। এক করতে জন্য ব্যবহারকারী অনুসারে cron কাজ হিসেবে কনফিগার rootবা apacheবা যাই হোক না কেন, কিন্তু এক উচিত ব্যবহার /etc/crontabবা (ভাল, সবচেয়ে ডিস্ট্রো মধ্যে) /etc/cron.dএবং /etc/cron.[timeframe]
mattdm


আমি একটি স্ক্রিপ্ট পোস্ট করেছি যা এটিকে একটি দরকারী ডিগ্রীতে স্বয়ংক্রিয় করে তোলে : - স্ট্যাকওভারফ্লো / প্রশ্ন / 134906/… এটি নিখুঁত নয় তবে সম্ভবত 90% প্রয়োজনগুলি কভার করে। বাশে কী লিখবেন না এটির একটি উত্তম উদাহরণ।
ডেভিড কলিয়ার

উত্তর:


143

আপনার লিনাক্স সিস্টেমটি কীভাবে সেট আপ করা হয়েছে তার উপর নির্ভর করে আপনি দেখতে পারেন:

  • /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/*) এবং সম্ভবত অন্যরা ভুলে যাবেন ।


4
ধন্যবাদ, আমি তাদের খুঁজে পেয়েছি /etc/cron.dailydailyফাইলটি কীভাবে কাজ করে? প্রতিদিনের কাজগুলি কখন চলবে? আমার মেশিনে তারা দুপুরের দিকে ছুটে চলেছে বলে মনে হচ্ছে, তবে এটি আমার সিসাদমিনকে বলতে চাইবে যে কীভাবে পরিবর্তিত হয়ে মধ্যরাতে পরিবর্তন করা যায়।
ফ্রাঙ্ক

5
ক্রোন.ডেইলি থেকে ডাকা হয় /etc/crontab, যেমন আমার উবুন্টু সিস্টেমে এটি: 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )যার অর্থ সকাল :25:২৪ ।
কাউহ

আপনি আরও ডেটা পয়েন্ট চাইলে ক্রোন.ডেইলি আমার আরএইচইএল 5 সিস্টেমেও / ইত্যাদি / ক্রন্টব থেকে কল করা হয়।
jsbillings

আরও নতুন ফেডোরায় (এবং সম্ভবত আরএইচইএল 6 - এখনও সন্ধান করেনি), ডিমনটি cronieকনফিগারেশনটি ব্যবহার করে তাদের যত্ন নেয় /etc/anacrontab
mattdm

কখনও কখনও এটা /var/cronখুব।
সিএমসিডিগ্রাগনকাই

135

বেশিরভাগ ক্রোন (উদাহরণস্বরূপ ভিক্সি -ক্রোন - ডিবিয়ান / উবুন্টু ডিফল্ট, ক্রোনী - ফেডোরা ডিফল্ট, সোলারিস ক্রোন ...) আপনি বর্তমান ব্যবহারকারীর জন্য নির্ধারিত ক্রোন কাজের তালিকার মাধ্যমে পাবেন:

$ 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
ফ্রাঙ্ক

3
তারপরে আপনাকে এটিকে যথেষ্ট সুযোগ-সুবিধা সহ কল ​​করতে হবে - অর্থাত rootব্যবহারকারী হিসাবে ।
ম্যাক্সচলেপজিগ

2
এখনও সম্পূর্ণ নয় - /etc/cron.d এবং /etc/cron. ক্রমানুসারে ক্রোন চালনার কয়েকটি সংস্করণ {/ / / crontab দ্বারা কল করা কোনও সহায়তা কর্মসূচী ছাড়াই ilyডাইলি, হাওয়ারলি, মমথলি, উইক্লি ly
mattdm

2
@ ম্যাক্সচলেপজিগ - তবে সর্বদা নয়। এবং প্রশ্নটি হল "আমি কীভাবে সমস্ত ক্রোন জবগুলির একটি তালিকা পেতে পারি "; একটি উত্তর যা "ভাল, তাদের মধ্যে কিছু এখানে" উত্তর নয়।
mattdm

1
@ ম্যাক্সচলেপজিগ - cronieযেমনটি ফেডোরা এবং আরএইচইএল 6-এ প্রেরণ করা হয়েছে, সেগুলিকে উল্লেখ না করে /etc/crontabপরিবর্তে ব্যবহার করুন /etc/anacrontab। আমি কোনও বাস্তব রূপায়ণ সম্পর্কে ভুল হতে পারি যা কোনও কনফিগার ফাইলে এগুলি উল্লেখ করে না। (তবে তারপরেও, আমি
কোনওটিই নিম্নোক্ত হইনি

5

প্রদত্ত ব্যবহারকারীর জন্য সমস্ত ক্রোন তালিকাবদ্ধ করতে।

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

1
ওপি সমস্ত ক্রোন কাজের তালিকার জন্য জিজ্ঞাসা করছে ।
ড্রভ স্লোয়ান

1
কিছু কারণে যা /etc/cron.d/ কাজগুলি দেখায় না।
জামশিদ

এটা কাজ করছে না. "www-data এর জন্য কোনও crontab" নেই। তবে ব্যবহারকারীর নাম www-ডেটা বিদ্যমান।
মিশনন
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.