2011-12-20 9 views
32

पर शेल स्क्रिप्ट के साथ क्रोंटैब में शामिल होने से मैं उबंटू पर क्रोंटैब में एक लाइन जोड़ने की कोशिश कर रहा हूं।उबंटू

अभी, मैं crontab -e कर रहा हूं और वहां क्रोंटैब संपादित कर रहा हूं।

हालांकि, मुझे असली क्रोंटैब फ़ाइल नहीं मिल रही है, क्योंकि crontab -e आपको अस्थायी काम करने वाली प्रतिलिपि देता है।

/etc/crontab सिस्टम crontab की तरह दिखता है।

crontab -e क्रॉन्टाब का मार्ग क्या है?

धन्यवाद!

+0

https://stackoverflow.com/questions/610839/कैसे-कर सकते हैं- i-programmatically-create-a-new-cron-job – dskrvk

+0

संभावित डुप्लिकेट [मैं प्रोग्रामेटिक रूप से एक नया क्रॉन जॉब कैसे बना सकता हूं?] (https://stackoverflow.com/questions/610839/how-can -आई-प्रोग्रामेटिकली-बिल्ड-ए-न्यू-क्रॉन-जॉब) –

उत्तर

22

उपयोग crontab -l > filefile को वर्तमान उपयोगकर्ता के crontab सूची, और crontab file, नई crontab स्थापित करने के लिए।

1

उपयोगकर्ता crontab फ़ाइल ubuntu के लिए '/ var/spool/cron/crontabs' में है।

[email protected]:~$ sudo ls -lh /var/spool/cron/crontabs/adyliu 
-rw------- 1 adyliu crontab 1.2K 2012-03-01 09:33 /var/spool/cron/crontabs/adyliu 

'adyliu' आपका लॉगिन उपयोगकर्ता है।

आपको इस फ़ाइल को देखने के लिए रूट विशेषाधिकार की आवश्यकता है।

"crontab -e" का उपयोग करना शायद क्रॉन स्क्रिप्ट को संशोधित करने का सबसे अच्छा तरीका है।

मैनुअल में:

उपयोगकर्ता है कि निर्देशिका के अंतर्गत फ़ाइलों को संपादित करने के लिए सीधे कि केवल सिस्टम द्वारा अनुमति उपयोगकर्ताओं आवधिक कार्य उन्हें जोड़ सकते हैं चलाने के लिए सुनिश्चित करने के लिए अनुमति नहीं है, और केवल वाक्य रचना सही crontabs वहां लिखा गया होगा।

79

तुम भी एक अस्थायी फ़ाइल के बिना यह कर सकते हैं:

(crontab -l ; echo "0 4 * * * myscript")| crontab - 
+0

की इच्छा है कि मैंने इसे पहले देखा था। अच्छा। – mdandr

+2

'crontab -' का क्या अर्थ है? – Noumenon

+3

'crontab -' का मतलब मानक इनपुट के साथ क्रोंटैब को प्रतिस्थापित करता है। – Duvrai

11

यदि आपका crontab रिक्त है आप 2>/dev/null उपयोग करना चाहिए:

(crontab -l 2>/dev/null; echo "0 4 * * * myscript")| crontab - 
+0

सावधानी से लें क्योंकि इसे ऐसा करने से' 2>/dev/null' आपको किसी अन्य के बारे में नहीं बता सकता त्रुटियों, मैं व्यक्तिगत रूप से सभी त्रुटियों को हमेशा के लिए छोड़ने के बजाय एक बार त्रुटि देखने के लिए – Ordiel

+0

@Ordiel क्या वास्तव में कोई अन्य त्रुटियां हैं जो आप 'crontab -l' से प्राप्त कर सकते हैं? – Noumenon

+0

ठेठ शैल व्यवहार में, पाइप पहले से ही stderr को छोड़ देता है: तो stderr को छूए बिना, त्रुटि संदेश अभी भी crontab में समाप्त नहीं होना चाहिए। उदाहरण के लिए, यदि आप * पाइप में * stderr चाहते थे, तो बैश में आप पाइप के बाद '&' जोड़ देंगे: | & – Rondo