cron
si comporta in modo leggermente diverso da un prompt standard, motivo per cui non sta facendo quello che ti aspetti. Ci sono due problemi con il comando così com'è:
- Poiché non analizza la variabile di ambiente
PATH
uguale alla shell, cron
non sa dove screencapture
è. Devi specificare il percorso completo, /usr/sbin/screencapture
.
-
Come indicato in pagina man crontab (5) , cron
tratta %
come carattere di nuova riga:
Percent-signs (%) in the command, unless escaped with backslash (\), will be changed into newline characters, and all data after the first % will be sent to the command as standard input.
Quindi devi sfuggire a ogni %
con \
per ottenere il risultato desiderato.
Questa voce crontab
ti darà una schermata ogni ora, nell'ora:
0 * * * * /usr/sbin/screencapture -Cd -tjpg ~/Desktop/screen-'date +"\%Y\%m\%d-\%H\%M"'.jpg
Registrazione errori cron
Per inciso, se hai problemi con cron, controlla la tua posta di sistema eseguendo il comando mail
in Terminale. Non è molto ovvio, ma per impostazione predefinita cron
invia messaggi di errore che possono fornire un punto di partenza per capire cosa non va.