Quando si aggiunge una configurazione cron in /etc/cron.d/
o in /etc/crontab
devi aggiungere il nome utente in quale contesto deve essere eseguito il comando, nel tuo esempio
* * * * * root /bin/touch /home/me/ding_dong
E solo un suggerimento da parte mia:non devi iniziare a eseguire ls -ltr
ancora e ancora, basta usare watch -n 5 "ls -ltr"
e eseguirà il comando ogni 5 secondi (o qualsiasi altro valore sostituendo 5 con quello che desideri).
Per creare un nuovo cron
lavoro, dovresti eseguire crontab -e
come l'utente che si desidera eseguire il processo. Quindi aggiungi la riga pertinente nella finestra dell'editor che appare:
* * * * * /bin/touch /home/me/ding_dong
Il modo in cui lo fai richiede un formato diverso e comunque non è una buona idea. Crontab in /etc/cron.d
hanno un formato leggermente diverso, richiedono un nome utente per essere eseguiti. Ad esempio:
* * * * * USERNAME /bin/touch /home/me/ding_dong
Un buon trucco (come suggerito da @VogonPoetLaureate) è catturare l'errore standard dei tuoi lavori cron che possono aiutarti a eseguirne il debug. Ad esempio:
* * * * * /bin/touch /home/me/ding_dong 2>/tmp/error
Un possibile errore qui è come un file a riga singola è creato. Dalla documentazione di Ubuntu:
...la riga ha cinque campi data e ora, seguiti da un comando, seguito da un carattere di nuova riga .
Ad esempio, questo modo di creazione non funziona:
printf "* * * * * /bin/touch /home/me/ding_dong" > /etc/cron.d/ding_dong