cron se comporta de forma un poco diferente a un mensaje estándar, por lo que no está haciendo lo que está esperando. Hay dos problemas con el comando tal como está:
- Debido a que no analiza la variable de entorno
PATH , igual que el shell, cron no sabe dónde está screencapture . Debe especificar la ruta completa, /usr/sbin/screencapture .
-
Como se indica en página man de crontab (5) , cron trata a % como un carácter de nueva línea:
Los signos de porcentaje (%) en el comando, a menos que se escapen con una barra invertida (\), se cambiarán a caracteres de nueva línea, y todos los datos después del primer% se enviarán al comando como entrada estándar.
Por lo tanto, necesitas escapar de cada % con un \ para obtener el resultado deseado.
Esta entrada crontab te dará una captura de pantalla cada hora, a la hora:
0 * * * * /usr/sbin/screencapture -Cd -tjpg ~/Desktop/screen-'date +"\%Y\%m\%d-\%H\%M"'.jpg
Cron Error Logging
Como nota aparte, si tiene problemas con cron, verifique el correo de su sistema ejecutando el comando mail en la Terminal. No es muy obvio, pero por defecto cron envía mensajes de error que pueden proporcionar un punto de partida para descubrir qué está mal.