जवाबों:
आपकी स्क्रिप्ट एक # याद आ रही है! शुरुआत में लाइन, जो कि कर्नेल द्वारा बताई गई जादू है, यह कहने के लिए कि स्क्रिप्ट के लिए किस कमांड दुभाषिया का उपयोग किया जाना है।
इसे इस तरह बनाओ:
#!/bin/sh
notify-send "hi welcome"
और सुनिश्चित करें कि स्क्रिप्ट निष्पादन योग्य है:
ls -l home/hacks/notify.sh
chmod +x home/hacks/notify.sh
ls -l home/hacks/notify.sh
इसके अलावा, जब से आप दिन में सिर्फ एक बार ऐसा करने के लिए कह रहे हैं, क्या क्रेतेब का टाइमजोन आपके खुद के टाइमज़ोन के समान है? आपको यह दोपहर 2 बजे GMT पर हो सकता है।
Crontab को चलाना केवल बनाना आसान है। यहां मैं कहने जा रहा हूं कि कॉट्रैब जॉब कैसे चलाएं। यह किसी के लिए भी उपयोगी है जो क्रॉस्टैब पर अटक गया है।
*/1 * * * * cd /home/hacks && sh notify.sh
स्क्रिप्ट को निष्पादन योग्य बनाने के लिए, हमें करना होगा:
chmod +x home/hacks/notify.sh
यहाँ मैं इस स्क्रिप्ट को हर एक मिनट के लिए चलाता हूँ ... स्क्रिप्ट को नीचे करके, आप इसे लॉग फ़ाइल में लिख सकते हैं कि क्या इसका काम है
लॉग लिखो
*/1 * * * * cd /home/hacks && sh notify.sh>>test.log
मेल भेजे
*/1 * * * * cd /home/hacks && sh notify.sh>>test.log | mail -s "Hi this is example" user@domain.com
4 परिकल्पना:
क्रोन डेमॉन नहीं चल रहा है (ए ps axfww | grep cronऔर चेक करें)
अधिसूचित-भेज एक टर्मिनल, या एक एक्स सत्र के लिए आउटपुट भेजने की कोशिश कर रहा है - लेकिन यह cronपर्यावरण के भीतर से चलाया जाता है और यह नहीं जानता कि "किससे बात करनी है", इसलिए बोलने के लिए।
आपकी स्क्रिप्ट निष्पादन योग्य नहीं है
home/crontab लिपि में पथ उपयोगकर्ता स्क्रिप्ट के रूप में मार डाला जाता है के सापेक्ष है। पूर्ण पथ का उपयोग करने का प्रयास करें
आपको निम्नलिखित कमांड द्वारा क्रॉस्टैब खोलना है:
crontab -u username -e (to edit) -l(to list) -r(to remove) 10(minutes) 8-15(hours) *(Day of month) *(month) 1,3,5(days of week) /path/to/script/script_name.sh
यह आपकी स्क्रिप्ट को हर सोमवार, बुधवार और शुक्रवार को सुबह 8 बजकर 10 मिनट पर सुबह 8 बजकर 30 मिनट पर एक बार चलाएगा।
सबसे पहले, हमें कमांड के साथ क्रॉस्टेब को संपादित करने की आवश्यकता है crontab -eऔर अंदर से यह Crontabनिष्पादन योग्य स्क्रिप्ट का पथ और आपके मामले में इस तरह जोड़ता है
* 14 * * * home/hacks/notify.sh >/dev/null 2>&1।
प्रारंभ / रोकें / क्रोन सेवा को पुनरारंभ करें
/etc/init.d/crond start /stop / restartservice crond start /stop /restartsystemctl stop crond.servicesystemctl stop crond.service
काफी सरल, के माध्यम से crontab फ़ाइल के नीचे निम्नलिखित पंक्ति जोड़ें:
sudo nano /etc/crontab
@reboot root cd /home/pi/node-sonos-http-api && npm start &