Crontab

Crontab
शेड्यूलर के वे कार्य जो सर्वर पर root के रूप में चलते हैं (यानी वही जो “sudo crontab -e” करता है)। पैनल से केवल यहाँ जोड़े गए कार्य ही संपादित किए जा सकते हैं; root-crontab में पहले से मौजूद अन्य पंक्तियाँ नीचे केवल देखने के लिए दिखाई गई हैं।
Crontab (2)
शेड्यूल कमांड विवरण स्थिति कार्रवाइयाँ
0 5 * * * /usr/local/bin/custom-backup.sh >> /var/log/arciveo-cron.log 2>&1 Nightly backup to remote storage
*/15 * * * * /usr/local/bin/healthcheck.sh Ping external uptime monitor
अन्य सर्वर जॉब (केवल देखने के लिए) (12)
कमांड
30 1 * * * /usr/local/bin/clamav-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 2 * * * /usr/bin/aide --config /etc/aide/aide.conf --check > /var/log/aide/aide.log 2>&1
@reboot chmod 755 /var/lib/aide
0 3 * * * /usr/local/bin/lynis-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 4 * * * /usr/local/bin/load-ipsum.sh >> /var/log/arciveo-cron.log 2>&1
@reboot sleep 60 && /usr/local/bin/load-ipsum.sh >> /var/log/arciveo-cron.log 2>&1
30 4 * * * /usr/local/bin/debsums-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 6 * * * /usr/local/bin/logwatch_daily.sh >> /var/log/arciveo-cron.log 2>&1
0 8 * * * /usr/local/bin/daily-report-all.sh >> /var/log/arciveo-cron.log 2>&1
*/30 * * * * /usr/local/bin/smart-scan.sh >> /var/log/arciveo-cron.log 2>&1
0 * * * * /usr/bin/apt-get update -qq >/dev/null 2>&1
*/5 * * * * /usr/local/bin/collect-metrics-all.sh >> /var/log/arciveo-cron.log 2>&1
root-crontab में पैनल ब्लॉक के बाहर पहले से मौजूद पंक्तियाँ। “संपादक में कॉपी करें” केवल फ़ॉर्म भरता है — मूल पंक्ति हटती नहीं; स्थानांतरण के बाद उसे SSH से मैन्युअली हटाएँ।

SSH पर crontab -e के बजाय crontab का वेब इंटरफ़ेस

cron अपने बारे में कुछ नहीं बताता। वह यह सूचित नहीं करता कि कोई कार्य विफल हुआ, यह नहीं दिखाता कि वह पिछली बार कब चला, और शेड्यूल के पाँच खानों में हुई वाक्य-रचना की भूल के प्रकट होने की कोई जगह नहीं। औपचारिक रूप से वह स्थानीय उपयोगकर्ता को पत्र भेजता है, पर जिस सर्वर पर बाहर जाने वाली डाक कभी सेट ही नहीं हुई, वहाँ वह संदेश कोई नहीं पढ़ता। कोई कार्य महीनों टूटा पड़ा रह सकता है, और उसे परिणाम ही उजागर करते हैं।

यह पृष्ठ पैनल के ज़रिए जोड़े गए कार्य दिखाता है: शेड्यूल, कमांड, विवरण और स्थिति, इस सुविधा के साथ कि किसी कार्य को टर्मिनल खोले बिना चालू, बंद या हटाया जा सके। उनके नीचे अलग सूची में root crontab की शेष पंक्तियाँ हैं, यानी वे जो आपने या किसी स्थापित पैकेज ने पहले डाली थीं। वे केवल पढ़ने के लिए हैं: पैनल जानबूझकर उसमें बदलाव नहीं करता जो उसने स्वयं नहीं लिखा।

यहाँ तीन बातें जाँचने योग्य हैं। जिस कार्य का आउटपुट /dev/null 2>&1 को जाता है, वह चलने पर भी उतना ही चुप रहता है जितना टूटने पर। पूरे पथ के बजाय केवल नाम से लिखी कमांड आपके शेल से भिन्न व्यवहार करती है, क्योंकि cron का अपना और बहुत सीमित PATH होता है। और स्वयं शेड्यूल: जो कार्य कभी डीबगिंग के लिए बंद किया गया हो, प्रायः बंद ही रह जाता है। सेंध लगने के किसी भी संदेह के बाद cron को पढ़ना भी ज़रूरी है, क्योंकि शेड्यूलर के रास्ते जम जाना स्टार्टअप यूनिट की तुलना में आसान है, और ऐसी पंक्ति बिल्कुल सामान्य दिखती है।