Ubuntu मा Cron बाट कार्य स्वचालनको पूर्ण मार्गदर्शिका

目次

1. क्रन भनेको के हो

क्रन लिनक्स वा युनिक्स-आधारित सञ्चालन प्रणालीहरूमा समय-आधारित जागिर अनुसूचक हो। मुख्य रूपमा, प्रणाली प्रशासकहरू वा विकासकर्ताहरूले नियमित रूपमा निष्पादन गर्न आवश्यक हुने कार्यहरूलाई स्वचालित गर्नका लागि प्रयोग गरिन्छ। उबुन्टुमा पनि क्रन सामान्यतया स्थापित हुन्छ, र सर्वर व्यवस्थापन, ब्याकअप, स्क्रिप्टको नियमित निष्पादन आदि विभिन्न अवस्थाहरूमा प्रयोग गरिन्छ।

क्रनको संयन्त्र

क्रनले “क्रन्ट्याब” भन्ने फाइलमा निर्दिष्ट समय वा अन्तरालमा निष्पादन हुने कमान्डहरू लेखेर काम गर्छ। क्रन्ट्याबमा निम्नानुसारका ५ वटा क्षेत्रहरू हुन्छन्, र प्रत्येक क्षेत्रमा निर्दिष्ट मानहरूबाट कार्य निष्पादन गर्ने समयलाई विस्तृत रूपमा सेट गर्न सकिन्छ।
  • मिनेट (० देखि ५९)
  • घण्टा (० देखि २३)
  • दिन (१ देखि ३१)
  • महिना (१ देखि १२)
  • हप्ताको दिन (० देखि ७, ० वा ७ आइतबार)
उदाहरणका लागि, “प्रत्येक दिन बिहान ५ बजे ब्याकअप निष्पादन गर्ने” जस्तो कार्यलाई क्रन्ट्याबमा निम्नानुसार लेखिन्छ।
0 5 * * * tar -zcf /var/backups/home.tgz /home/
यसरी, नियमित जागिरहरूलाई स्वचालित गर्न सकिने क्रनको ठूलो विशेषता हो।

कसले क्रन प्रयोग गर्नुपर्छ?

क्रन प्रणाली प्रशासकहरूका लागि मात्र होइन, दैनिक कार्यहरूलाई कुशल बनाउन चाहने विकासकर्ताहरू वा सर्वरमा नियमित रूपमा स्क्रिप्ट निष्पादन गर्न आवश्यक हुने व्यक्तिहरूका लागि आवश्यक उपकरण हो।

2. क्रन जॉबको सेटअप

क्रन्ट्याबको सम्पादन विधि

क्रन जॉब सेटअप गर्नको लागि, पहिले “crontab” फाइलमा पहुँच गरेर सम्पादन गर्न आवश्यक छ। Ubuntu मा, crontab -e कमान्ड प्रयोग गरेर, प्रयोगकर्ता विशेष क्रन्ट्याब फाइल खोलिन्छ।
crontab -e

क्रन जॉबको आधारभूत संरचना

क्रन्ट्याबमा वर्णन गर्ने जॉबमा, समय निर्दिष्ट गर्ने फील्ड र निष्पादन गर्ने कमान्ड समावेश हुन्छ। तल, सामान्य क्रन जॉबको ढाँचा छ।
मिनेट घण्टा दिन महिना हप्ताको दिन कमान्ड
उदाहरणको लागि, निम्न क्रन जॉबले दैनिक बिहान ५ बजे /home/ डाइरेक्टरीको ब्याकअप सिर्जना गर्ने कार्य परिभाषित गर्दछ।
0 5 * * * tar -zcf /var/backups/home.tgz /home/

क्रन्ट्याबको बचत र जाँच

क्रन्ट्याब फाइलमा जॉब थपेपछि, सम्पादक बचत गरेर बन्द गरेर परिवर्तन लागू हुन्छ। सेटिङ सही रूपमा लागू भएको जाँच गर्न, निम्न कमान्डले हालका क्रन जॉबहरू सूचीबद्ध गर्न सकिन्छ।
crontab -l

3. उन्नत Cron जॉब शेड्युलिङ

कस्टम समय अन्तरालमा जॉबको निष्पादन

उदाहरणका लागि, प्रत्येक मिनेट वा हरेक ५ मिनेटमा निष्पादन गर्ने सेटिङ आवश्यक भएमा, निम्नानुसार लेख्नुहोस्।
  • प्रत्येक मिनेट निष्पादन:
* * * * * /path/to/script.sh
  • हरेक ५ मिनेटमा निष्पादन:
*/5 * * * * /path/to/script.sh

निश्चित हप्ताको दिन वा समय क्षेत्रमा निष्पादन

हप्ताको अन्त्य मात्र, वा निश्चित हप्ताको दिनमा कार्य निष्पादन गर्न चाहनुहुन्छ भने, हप्ताको दिन क्षेत्रमा मान निर्दिष्ट गर्नुहोस्। उदाहरणका लागि, प्रत्येक हप्ताको सोमबार बिहान २:१५ मा स्क्रिप्ट निष्पादन गर्न, निम्नानुसार लेख्नुहोस्।
15 2 * * 1 /path/to/script.sh

4. त्रुटि ह्यान्डलिङ र समस्या निवारण

सामान्य क्रोन जॉब समस्याहरू र समाधानहरू

जब जॉब चल्दैन

क्रोन जॉब चल्दैन भने, पहिले निम्नलिखित आधारभूत बुँदाहरू जाँच गर्नुहोस्।
  • अनुमति जाँच: चलाउने स्क्रिप्ट वा कमान्डमा कार्यान्वयन अनुमति छ कि जाँच गर्नुहोस्।
  • पूर्ण पथ निर्दिष्ट गर्नुहोस्: क्रोन जॉबहरू सामान्य शेल भन्दा फरक छन्, वातावरण चर$PATH सीमित छ, त्यसैले कमान्ड वा फाइलहरूको पूर्ण पथ निर्दिष्ट गर्न आवश्यक छ।
/usr/bin/python3 /path/to/script.py

लग जाँच गर्नुहोस्

क्रोन जॉबहरूको कार्यान्वयन परिणामहरू वा त्रुटिहरू /var/log/syslog मा रेकर्ड गरिन्छ। जॉब किन चलिन भनेर वा त्रुटिको विवरण जाँच गर्न यो लग फाइल जाँच गरौं।
grep CRON /var/log/syslog

5. सुरक्षा विचारहरू

प्रयोगकर्ता पहुँचको नियन्त्रण

Cron जागिरहरू चलाउन सक्ने प्रयोगकर्ताहरूलाई सीमित गर्नको लागि, /etc/cron.allow/etc/cron.deny फाइलहरू प्रयोग गर्नुहोस्। /etc/cron.allow मा प्रयोगकर्ताहरूलाई सूचीबद्ध गर्नुहोस् भने, ती प्रयोगकर्ताहरू मात्र Cron जागिरहरू सेटअप गर्न सक्नेछन्।
echo "user_name" >> /etc/cron.allow

लगइन सुरक्षा र Cron जागिर

Cron जागिरहरू चलाउँदा, प्रमाणीकरण त्रुटिहरूबाट बच्नको लागि, SSH कुञ्जीहरूको स्वचालन वा पासवर्ड व्यवस्थापन आवश्यक हुन सक्छ।

6. Anacron को प्रयोग: कम बारम्बारका कार्यहरूको लागि

Anacron भनेको के हो?

Anacron एक जॉब शेड्युलर हो जुन सिस्टम सधैं चलिरहेको नभएको वातावरणमा प्रयोग गरिन्छ। सिस्टम अफलाइन हुँदा नचलेका जॉबहरूलाई अर्को सुरुवातमा सम्पादन गर्नको लागि, यो डेस्कटप पीसी वा ल्यापटपमा नियमित कार्यहरूको लागि आदर्श छ।

7. क्रन जॉबहरूको व्यावहारिक प्रयोगका उदाहरणहरू

ब्याकअपको स्वचालितीकरण

नियमित रूपमा ब्याकअप लिन क्रन जॉब सेटअप गर्ने उदाहरण।
0 2 * * * tar -zcf /var/backups/home_backup_$(date +%Y-%m-%d).tgz /home/

8. सारांश

Cron र Anacron को प्रयोगले नियमित कार्यहरूलाई कुशलतापूर्वक स्वचालित गर्न सकिन्छ, जसले प्रणाली सञ्चालनको विश्वसनीयता बढाउँछ। दुवै उपकरणहरूलाई उपयुक्त रूपमा प्रयोग गर्दा सञ्चालन लागत घटाउन सकिन्छ र महत्वपूर्ण मर्मत कार्यहरूलाई स्वचालित गर्न सकिन्छ। वास्तवमा प्रणालीमा लागू गरेर यसको प्रभाव अनुभव गर्नुहोस्।
年収訴求