Cron.d (as /etc/cron.d/) और crontab में क्या अंतर है?


18

डायरेक्टरी cron.d (as /etc/cron.d/) और के बीच मुख्य अंतर क्या है crontab?

जहां तक मैं समझता हूँ, एक की तरह एक फ़ाइल बना सकते हैं /etc/cron.d/my_non_crontab_cronjobsऔर इसके अंदर डाल दिया जो कुछ भी चाहता है, बस के रूप में उन्हें एक में डाल दिया जाएगा crontabके माध्यम से crontab -e

तो दोनों के बीच मुख्य अंतर क्या है?


सिस्टम में स्थान, और प्रारूप।
रुई एफ रिबेरो

स्वरूप? 2 उदाहरणों से मैंने देखा है कि इसमें 5 समय इकाइयाँ वाक्यविन्यास है, या मैं इसके साथ भ्रमित कर रहा हूँ crontab
आर्कटिकुलिंग

जवाबों:


24

डिबियन में मैनपेज में अंतरों को विस्तार से दर्ज किया गया हैcron(8) । मुख्य अंतर यह है कि /etc/cron.dअलग-अलग फ़ाइलों के साथ आबादी है, जबकि crontabप्रति उपयोगकर्ता एक फ़ाइल का प्रबंधन करता है; इस प्रकार /etc/cron.dस्क्रिप्ट का उपयोग करने की सामग्री का प्रबंधन करना आसान है (स्वचालित स्थापना और अपडेट के लिए), और crontabसंपादक का उपयोग करके प्रबंधन करना आसान है (अंत उपयोगकर्ताओं के लिए वास्तव में)।

अन्य महत्वपूर्ण अंतर यह है कि सभी वितरण समर्थन नहीं करते हैं /etc/cron.d, और यह कि फाइलों को /etc/cron.dएक निश्चित संख्या में आवश्यकताओं को पूरा करना पड़ता है (वैध क्रोन नौकरियों से परे): उन्हें रूट के स्वामित्व में होना चाहिए, और run-parts'नामकरण सम्मेलनों ( कोई डॉट्स , केवल ) के अनुरूप होना चाहिए अक्षर, अंक, अंडरस्कोर, और हाइफ़न)।

आप उपयोग कर विचार कर रहे हैं /etc/cron.d, यह आम तौर से एक पर विचार के लायक है /etc/cron.hourly, /etc/cron.daily, /etc/cron.weekly, या /etc/cron.monthlyबजाय।


1
और एक वास्तविक दुनिया उदाहरण के लिए, आइटम cron.dआमतौर पर पैकेज स्थापना के माध्यम से जोड़े जाते हैं, जबकि विभिन्नcrontab फाइलें संबंधित उपयोगकर्ता द्वारा बनाई गई चीजों से भरी होती हैं। IE, certbotया letsencryptपैकेज में एक प्रविष्टि डालता है cron.d- पैकेज उपलब्ध होने से पहले, sysadmin (रूट) crontabएक शेल स्क्रिप्ट / आदि के लिए रूट उपयोगकर्ता के संकेत में एक प्रविष्टि जोड़ देगा । प्रमाणपत्रों को अद्यतन रखने के लिए।
ivanivan

धन्यवाद स्टीफन! आप प्रति घंटा / साप्ताहिक / मासिक क्रोन निर्देशिकाओं का उपयोग करने की सलाह क्यों देते हैं? और BTW, क्यों वहाँ आदमी पृष्ठ cron (8) कहा जाता है 8 के लिए क्या है (crontab नाम के crontab के लिए आदमी पृष्ठ (1))।
आर्कटिकुलिंग

1
@Arcticooling, यह प्रश्न देखें को स्पष्टीकरण के लिए देखें(8)
user4556274

प्रति घंटा आदि निर्देशिकाओं को नौकरियों को जोड़ने के लिए सरल बनाता है (सटीक वाक्यविन्यास का पता लगाने की कोई आवश्यकता नहीं है), और इससे भी महत्वपूर्ण बात, सिस्टम को परिस्थितियों के आधार पर वास्तविक निष्पादन समय को अलग करने की अनुमति देता है; यह उन प्रणालियों पर विशेष रूप से उपयोगी है जो हमेशा चालू नहीं होती हैं anacron
स्टीफन किट

1
के नकारात्मक पक्ष hourly|daily|weekly|monthlyनिर्देशिका का है कि (AFAICT), वे हमेशा रूट के रूप में चलते हैं, और सीधे कम विशेषाधिकार के साथ चलने का समर्थन नहीं करते हैं।
22लकक्चु

5

मैं कहूंगा कि मुख्य अंतर स्पष्ट है: /etc/crontabऔर /etc/cron.dथोड़ी देर में प्रति-उपयोगकर्ता crontabs नहीं, नियमित रूप से उपयोगकर्ताओं द्वारा परिवर्तनीय हैं /var/spool/cronकि crontabउपकरण संपादन, कर रहे हैं। (विषय के विषय में cron.allowऔर cron.denyनिश्चित रूप से।) एक प्रणाली पर जहां आप प्रशासक हैं, आप या तो उपयोग कर सकते हैं। एक साझा प्रणाली पर, नियमित उपयोगकर्ता केवल एक का उपयोग कर सकते हैं।

इससे संबंधित सिस्टम-वाइड फ़ाइलों में अतिरिक्त फ़ील्ड है, जिसके तहत उपयोगकर्ता काम करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.