मैंने कई सामान्य त्रुटियों को दूर करने की कोशिश की है,
यह सुनिश्चित करना कि पैट्रन क्रोन के लिए उपलब्ध हैं
crontab फ़ाइल के अंत में एक एंडलाइन है
टाइमजोन द्वारा स्थापित किया गया है:
cd /etc cp /usr/share/zoneinfo/Asia/Singapore /etc/localtime
date
बैश में चल रहा है, मुझे मिलता है:
Tue Sep 17 15:14:30 SGT 2013
यह जांचने के लिए कि क्या क्रोन एक ही समय का उपयोग कर रहा है,
* * * * * date >> date.txt
तारीख में वही उत्पादन दे रहा है।
यह वह स्क्रिप्ट है जिसे मैं निष्पादित करने की कोशिश कर रहा हूं:
event.sh
:
#!/usr/bin/env bash
echo data > /root/data.txt
का उपयोग करते हुए crontab -e
, नीचे की रेखा काम करती है,
* * * * * /bin/bash /root/event.sh >/tmp/debug.log 2>&1
15 * * * * /bin/bash /root/event.sh >/tmp/debug.log 2>&1
हालाँकि, जब मैंने कुछ अन्य तर्कों की कोशिश की, तो उम्मीद थी कि यह दोपहर 2.50 बजे चलेगी:
50 14 * * * /bin/bash /root/event.sh >/tmp/debug.log 2>&1
या
50 14 * * * (cd /root ; ./event.sh >/tmp/debug.log 2>&1)
यह अब काम नहीं करेगा। लगता है जैसे मेरे घंटे के तर्क में कोई समस्या है। /tmp/debug.log
फ़ाइल में कुछ भी नहीं मिला ।
उपाय:
यह पता चला है कि मुझे टीबी में परिवर्तन करने के बाद क्रोन सेवा को फिर से शुरू करना होगा।
* * * * * /bin/bash /root/event.sh >/tmp/debuge.log 2>&1
* * * * * date
और पुष्टि करें कि date
अपेक्षित समय दिखाता है। ध्यान दें कि crontab के भीतर से TZ पर्यावरण चर सेट करना क्रोन डेमॉन द्वारा उपयोग किए गए समय क्षेत्र को प्रभावित नहीं कर सकता है, लेकिन यह क्रोन के माध्यम से लॉन्च होने वाली प्रक्रियाओं को प्रभावित करेगा, इसलिए यदि आप अपने crontab में TZ सेट करते हैं, तो मैं इसे अस्थायी रूप से टिप्पणी करने का सुझाव दूंगा। और सिस्टम घड़ी के टाइमज़ोन का उपयोग करके समय निर्धारित करना (शायद यूटीसी यदि आप सिंगल-बूटिंग लिनक्स हैं, लेकिन इसके बजाय स्थानीय समय हो सकता है)।
~/event.sh
साथ प्रयास करने के बजाय पूर्ण पथ के साथ प्रयास कर सकते हैं/home/username/event.sh