मैंने क्रॉन जॉब सेट किया था:
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
मुख्य समस्या यह है कि अनुसूची समय पर, एक त्रुटि है: "मेल ने / var / स्पूल / मेल / भाग्यशाली को भेजा है"।
Myfile.sh की सामग्री है:
mkdir jh
cd jh
मैंने क्रॉन जॉब सेट किया था:
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
मुख्य समस्या यह है कि अनुसूची समय पर, एक त्रुटि है: "मेल ने / var / स्पूल / मेल / भाग्यशाली को भेजा है"।
Myfile.sh की सामग्री है:
mkdir jh
cd jh
जवाबों:
यह एक स्क्रिप्ट के लिए ठीक नहीं है जिसे क्रॉन जॉब के रूप में सेट किया गया है:
mkdir jh
cd jh
आपको वह पूरा रास्ता देना चाहिए जहाँ jh
निर्देशिका बनाई जानी चाहिए। इसके अलावा, इस रास्ते में आपको नई फाइलें / निर्देशिका बनाने की अनुमति होनी चाहिए।
उदाहरण के लिए, आपकी स्क्रिप्ट इस तरह दिखनी चाहिए:
#!/bin/sh
mkdir /home/lucky/jh
cd /home/lucky/jh
इसके /usr/bin/sh
लिए सही रास्ता भी नहीं है sh
। सही रास्ता है /bin/sh
। आप इसे whereis sh
कमांड से चेक कर सकते हैं । और फिर भी, आपकी क्रोन जॉब इस तरह दिखनी चाहिए:
20 * * * * /home/lucky/myfile.sh
स्क्रिप्ट को निष्पादन योग्य बनाना न भूलें:
chmod +x /home/lucky/myfile.sh
जिस पथ पर यह फ़ोल्डर बनाना प्रतीत होता है वह है /
। ऐसा इसलिए है क्योंकि इसे निष्पादित करने वाली सभी फ़ाइलों में फ़ोल्डर और फ़ाइलों के लिए पूर्ण पथ की crontab
आवश्यकता होती है ।
तो myfile.sh में पथ होना चाहिए
mkdir <absolutePath>/jh
cd <absolutePath>/jh
20 * * * * /usr/bin/sh /home/lucky/myfile.sh
यह रेखा सही है, हालांकि आपको यह देखने के लिए पथ की जांच करनी चाहिए कि क्या sh / usr / bin / sh पर मौजूद है या नहीं ( which sh
पथ को देखने के लिए उपयोग करें जहां sh मौजूद है; मेरा / bin / sh)
यदि आप crontab लिखना शुरू करने की जल्दी में हैं तो इस लिंक के बहुत अच्छे उदाहरण हैं
http://www.thegeekstuff.com/2009/06/15-practical-crontab-examples/