मेरी मशीन पर सभी अनुसूचित क्रोन नौकरियों की सूची कैसे प्राप्त कर सकते हैं?


201

मेरे sysadmin ने मेरी मशीन पर क्रोन नौकरियों का एक समूह स्थापित किया है। मैं जानना चाहता हूं कि वास्तव में किस समय के लिए निर्धारित है। मुझे वह सूची कैसे मिल सकती है?


3
यह सवाल का जवाब नहीं है, लेकिन सिर्फ सर्वोत्तम प्रथाओं पर एक नोट। एक या तो या के लिए प्रति उपयोगकर्ता क्रोन नौकरियों के रूप में इन कॉन्फ़िगर कर सकते हैं , लेकिन एक का उपयोग करना चाहिए या (बेहतर, सबसे distros में) और । rootapache/etc/crontab/etc/cron.d/etc/cron.[timeframe]
mattdm


मैंने एक स्क्रिप्ट पोस्ट की है जो इसे एक उपयोगी डिग्री पर स्वचालित करती है: - stackoverflow.com/questions/134906/… यह बिल्कुल सही नहीं है, लेकिन शायद 90% जरूरतों को कवर करता है। यह एक अच्छा उदाहरण है जो बैश में नहीं लिखता है।
दाविद कोल

जवाबों:


143

आपके लिनेक्स सिस्टम की स्थापना कैसे की जाती है, इसके आधार पर आप इसमें देख सकते हैं:

  • /var/spool/cron/* (उपयोगकर्ता crontabs)
  • /etc/crontab (सिस्टम-वाइड क्रॉस्टैब)

भी, कई distros है:

  • /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.daily। वह dailyफाइल कैसे काम करती है? दैनिक कार्य किस समय चलेंगे? मेरी मशीन पर वे दोपहर के आसपास चलने लगते हैं, लेकिन यह मेरे sysadmin को बताना चाहते हैं कि इसके बजाय आधी रात को कैसे बदलना है।
फ्रैंक

5
cron.daily को /etc/crontabमेरे उबंटू सिस्टम से कहा जाता है , यह है: 25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )जिसका अर्थ है सुबह 6:25।
कोव

cron.daily को मेरे RHEL5 सिस्टम पर / etc / crontab से भी कॉल किया जाता है, यदि आप अधिक डेटा बिंदु चाहते हैं।
jsbillings

नए फेडोरा पर (और शायद RHEL6 - अभी तक नहीं देखा गया है), cronieडेमॉन कॉन्फ़िगरेशन का उपयोग करने वालों का ध्यान रखता है /etc/anacrontab
15

कभी-कभी इसमें /var/cronभी।
CMCDragonkai

135

अधिकांश क्रोन (जैसे विक्सी-क्रोन - डेबियन / उबंटू डिफॉल्ट, क्रॉनी - फेडोरा डिफॉल्ट, सोलारिस क्रोन ...) के साथ आप वर्तमान उपयोगकर्ता के लिए अनुसूचित क्रोन नौकरियों की सूची प्राप्त करते हैं:

$ crontab -l

या के माध्यम से किसी अन्य उपयोगकर्ता के लिए

# crontab -l -u juser

सभी उपयोगकर्ताओं के लिए crontabs प्राप्त करने के लिए आप सभी उपयोगकर्ताओं पर लूप कर सकते हैं और इस कमांड को कॉल कर सकते हैं।

वैकल्पिक रूप से, आप स्पूल फ़ाइलों को देख सकते हैं। आमतौर पर, वे के तहत सहेजे जाते हैं /var/spool/cron, उदाहरण के लिए vcron निम्नलिखित निर्देशिका के लिए

/var/spool/cron/crontabs

सभी उपयोगकर्ताओं के सभी कॉन्फ़िगर किए गए crontabs शामिल हैं - रूट उपयोगकर्ता को छोड़कर जो सिस्टम-वाइड क्रॉस्टैब के माध्यम से नौकरियों को कॉन्फ़िगर करने में सक्षम है, जो यहां स्थित है

/etc/crontab

साथ cronie (Fedora / CentOS पर डिफ़ॉल्ट), वहाँ एक है .dप्रणाली क्रॉन नौकरियों, साथ ही के लिए शैली config निर्देशिका:

/etc/cron.d

(हमेशा की तरह, .dनिर्देशिका कॉन्फ़िगरेशन प्रविष्टियों को बनाए रखने को सरल बनाती है जो विभिन्न पैकेजों का हिस्सा हैं।)

सुविधा के लिए, अधिकांश वितरण एक निर्देशिका भी प्रदान करते हैं जहां लिंक / संग्रहीत स्क्रिप्ट समय-समय पर निष्पादित होती हैं, उदाहरण के लिए:

/etc/cron.daily
/etc/cron.hourly
/etc/cron.monthly
/etc/cron.weekly

उन लिपियों का समय पर निष्पादन आमतौर पर run-partsसिस्टम कोंट्राब में प्रविष्टियों के माध्यम से या एनाक्रॉन के माध्यम से प्रबंधित किया जाता है

साथ systemd (जैसे फेडोरा पर, CentOS 7, ...) समय-समय पर काम निष्पादन अतिरिक्त के माध्यम से विन्यस्त किया जा सकता टाइमर इकाइयों । सक्षम सिस्टम टाइमर के माध्यम से प्रदर्शित किया जा सकता है:

$ systemctl list-timers

ध्यान दें कि रूट के पास के उपयोगकर्ताओं के पास उपयोगकर्ता सिस्टमड इंस्टेंसेस चल सकते हैं जहां टाइमर कॉन्फ़िगर किए गए हैं, साथ ही साथ। उदाहरण के लिए, फेडोरा पर, डिफ़ॉल्ट रूप से, प्रत्येक उपयोगकर्ता के लिए एक उपयोगकर्ता प्रणाली का उदाहरण शुरू किया जाता है जो वर्तमान में लॉग इन है। उन्हें निम्न के रूप में पहचाना जा सकता है:

$ 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

(सामान्य सेवा इकाइयों के साथ के रूप में, एक टाइमर इकाई को सही systemd config निर्देशिका में एक प्रतीकात्मक लिंक बनाने के माध्यम से सक्षम किया जाता है।)

यह सभी देखें:


मैं नीचे नहीं था। लेकिन मैंने बस कोशिश की crontab -l -u root(क्योंकि मैं उन क्रोनॉजर्स के बारे में जानना चाहता हूं जो रन के बारे में जानना चाहते हैं root), और यह कहता है कि मेरे पास उपयोग करने के लिए विशेषाधिकार नहीं हैं -u
फ्रैंक

3
फिर आपको इसे पर्याप्त विशेषाधिकार - यानी rootउपयोगकर्ता के रूप में कॉल करना होगा ।
मैक्सचेलपिजिग

2
अभी भी पूरा नहीं हुआ है - क्रोन के कुछ वर्जन /etc/cron.d और /etc/cron.ministrdaily,hourly,monthly,weekly} से जॉब चलाते हैं, जिसमें हेल्पर प्रोग्राम से / etc / crontab कहा जाता है।
15

2
@maxschlepzig - लेकिन हमेशा नहीं। और सवाल यह है कि "मैं सभी क्रोन नौकरियों की सूची कैसे प्राप्त कर सकता हूं "; एक उत्तर जो "ठीक है, यहाँ उनमें से कुछ है" उत्तर नहीं है।
mattdm

1
@maxschlepzig - cronie, जैसा कि फेडोरा और आरएचईएल 6 में भेज दिया गया है, उन लोगों को संदर्भित नहीं करते हैं /etc/crontab, बल्कि उपयोग करते हैं /etc/anacrontab। मैं किसी भी वास्तविक कार्यान्वयन के बारे में गलत हो सकता हूं जो किसी भी कॉन्फ़िगरेशन फ़ाइल में इनका संदर्भ नहीं देता है। (लेकिन फिर, मैं या तो नीचे नहीं आया .... मैं सिर्फ कह रहा हूं '।)
Mattdm

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 के लिए कोई क्रॉस्टैब नहीं"। लेकिन उपयोगकर्ता नाम www-data मौजूद है।
मिसनोन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.