Risposte:
Nel tuo script manca un #! linea all'inizio, che è la magia interpretata dal kernel per dire quale interprete di comando deve essere usato per lo script.
Fallo in questo modo:
#!/bin/sh
notify-send "hi welcome"
e assicurati che lo script sia eseguibile:
ls -l home/hacks/notify.sh
chmod +x home/hacks/notify.sh
ls -l home/hacks/notify.sh
Inoltre, poiché stai chiedendo che ciò avvenga solo una volta al giorno, il fuso orario del crontab è lo stesso del tuo fuso orario? Questo potrebbe accadere alle 14:00 GMT.
Far funzionare crontab è solo facile. Qui ho intenzione di dire come eseguire i lavori crontab. È utile per chiunque sia bloccato su crontab.
*/1 * * * * cd /home/hacks && sh notify.sh
Per rendere eseguibile lo script, dobbiamo fare:
chmod +x home/hacks/notify.sh
Qui eseguo questo script per ogni minuto ... Facendo lo script di seguito, puoi scriverlo in un file di registro per scoprire se funziona
scrivere registro
*/1 * * * * cd /home/hacks && sh notify.sh>>test.log
inviare una mail
*/1 * * * * cd /home/hacks && sh notify.sh>>test.log | mail -s "Hi this is example" user@domain.com
4 ipotesi:
il demone cron non è in esecuzione (fare un ps axfww | grep cron
e controllare)
La notifica-invio sta tentando di inviare l'output a un terminale o a una sessione X, ma viene eseguito cron
dall'ambiente e non sa "con chi parlare", per così dire.
il tuo script non è eseguibile
il home/
percorso nello script crontab è relativo all'utente come gli script vengono eseguiti come. Prova a utilizzare il percorso completo
Devi aprire crontab con il seguente comando:
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
Questo eseguirà il tuo script una volta ogni ora dalle 8:00 alle 15:00 alle ore 10 minuti ogni lunedì, mercoledì e venerdì.
Prima di tutto, dobbiamo modificare il crontab con Command crontab -e
e all'interno di questo Crontab
aggiungi lo script Path of Executable e nel tuo caso in questo modo
* 14 * * * home/hacks/notify.sh >/dev/null 2>&1
.
Avvia / arresta / riavvia il servizio cron
/etc/init.d/crond start /stop / restart
service crond start /stop /restart
systemctl stop crond.service
systemctl stop crond.service
abbastanza semplice, aggiungi la seguente riga in fondo al file crontab tramite:
sudo nano /etc/crontab
@reboot root cd /home/pi/node-sonos-http-api && npm start &