He configurado un archivo crontab de usuario de la siguiente manera:
*/2 * * * * /Users/[my user]/Dropbox/htdocs/auto-update.sh
Pero no se ejecutará. Esperé, como, 10-15 minutos. ¿Por qué?
El comando auto-update.sh se ejecuta fácilmente si se ejecuta manualmente. ¿Cómo puedo separar la cadena de ejecución y hacer que mi script se ejecute desde cron?
KeepAlive
yQueueDirectories
artículos).Respuestas:
El entorno en el que se ejecuta un trabajo cron es bastante diferente de un shell interactivo; es probable que el script se esté ejecutando, pero no con éxito. Una de las mayores diferencias es que para las tareas cron, el PATH predeterminado es solo "/ usr / bin: / bin", por lo que si usa cualquier comando que no esté en / usr / bin o / bin, no lo hará. se encuentra a menos que su secuencia de comandos establezca su propio PATH o proporcione rutas explícitas a los comandos. La otra gran diferencia es simplemente que no está conectado a una sesión interactiva, por lo que si intenta hacer algo interactivo (leer desde el terminal, etc.) eso fallará. Intenta cambiar la entrada cron a:
... y ver si algo informativo aparece en el registro.
fuente
ps -ax | grep [c]ron
y ver si enumera el demonio cron (/ usr / sbin / cron) en ejecución. Si es así, prueba la prueba de logger de bmike. En cualquier caso, verifique los registros (/var/log/system.log y el elemento "Todos los mensajes" en la utilidad de la Consola) y vea si hay algo que parezca relevante.Es difícil decirlo, pero ¿qué sucede si agrega un segundo trabajo cron para ejecutar cada 5 minutos aproximadamente y hace que llame a alguna herramienta creada por el sistema que registre mensajes en system.log?
De esa manera, sabrá que cron se está ejecutando para el usuario en cuestión y puede concentrarse en iniciar cron o arreglar su script para que se ejecute en el entorno de cron limitado. (Puede mirar el reloj de la pared y elegir algunas veces para el próximo o incluso los próximos minutos, p. Ej., Editar a las 12:34 y colocar 35,36,37,38 minutos para ejecutar y guardar el archivo cron. .)
fuente
Ha pasado un tiempo que hiciste esta pregunta, pero parece que no surgió ninguna solución en este hilo.
Dependiendo de la forma en que cree un usuario en crontab, podría ser necesario ejecutar esto después de editarlo:
Para ver si el nuevo crontab (también después de modificarlo) se ha activado, verifique con:
fuente
Yo tuve el mismo problema. Necesitas agregar la ruta a tu script de bash:
fuente
Yo tuve el mismo problema. Se fue después de agregar una nueva línea después de mi trabajo en mi archivo crontab (soy un total de crontab n00b, así que no tengo idea si este comportamiento es ampliamente conocido o no).
fuente