Antworten:
In Ihrem Skript fehlt ein #! Zeile am Anfang, das ist die Magie, die der Kernel interpretiert, um zu sagen, welcher Befehlsinterpreter für das Skript verwendet werden soll.
Lass es so aussehen:
#!/bin/sh
notify-send "hi welcome"
und stellen Sie sicher, dass das Skript ausführbar ist:
ls -l home/hacks/notify.sh
chmod +x home/hacks/notify.sh
ls -l home/hacks/notify.sh
Da Sie nur einmal am Tag darum bitten, dass dies geschieht, stimmt die Zeitzone der Crontab mit Ihrer eigenen Zeitzone überein? Möglicherweise geschieht dies um 14 Uhr GMT.
Crontab laufen zu lassen ist nur einfach. Hier werde ich sagen, wie man Crontab-Jobs ausführt. Es ist nützlich für alle, die auf Crontab stecken.
*/1 * * * * cd /home/hacks && sh notify.sh
Um das Skript ausführbar zu machen, müssen wir Folgendes tun:
chmod +x home/hacks/notify.sh
Hier führe ich dieses Skript jede Minute aus ... Wenn Sie das folgende Skript ausführen, können Sie es in eine Protokolldatei schreiben, um festzustellen, ob es funktioniert
Schreibe Log
*/1 * * * * cd /home/hacks && sh notify.sh>>test.log
mail senden
*/1 * * * * cd /home/hacks && sh notify.sh>>test.log | mail -s "Hi this is example" user@domain.com
4 Hypothese:
der Cron - Daemon läuft nicht (tun ein ps axfww | grep cron
und überprüfen)
Das Benachrichtigungssendeverfahren versucht, eine Ausgabe an ein Terminal oder eine X-Sitzung zu senden, wird jedoch in der cron
Umgebung ausgeführt und weiß sozusagen nicht, mit wem zu sprechen ist.
Ihr Skript ist nicht ausführbar
Der home/
Pfad im crontab-Skript ist relativ zu dem Benutzer, unter dem das Skript ausgeführt wird. Versuchen Sie, den vollständigen Pfad zu verwenden
Sie müssen crontab mit dem folgenden Befehl öffnen:
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
Dadurch wird Ihr Skript jeden Montag, Mittwoch und Freitag einmal pro Stunde von 8 bis 15 Uhr um 10 Minuten nach der vollen Stunde ausgeführt.
Zuallererst müssen wir die crontab mit Command bearbeiten crontab -e
und dann Crontab
das Skript Path of Executable hinzufügen und in Ihrem Fall so
* 14 * * * home/hacks/notify.sh >/dev/null 2>&1
.
Cron-Dienst starten / stoppen / neu starten
/etc/init.d/crond start /stop / restart
service crond start /stop /restart
systemctl stop crond.service
systemctl stop crond.service
Ganz einfach, füge folgende Zeile am Ende der crontab-Datei hinzu:
sudo nano /etc/crontab
@reboot root cd /home/pi/node-sonos-http-api && npm start &