1 votos

cron queueing bash and Python scripts

Actualmente estoy buscando entender y sentirme cómodo con las colas de crontab en mi macbook pro. Recientemente resolví un problema en el que mi simple bash script no se ejecutaba. Resulta que tuve que mover mi bash script y su salida en el /Users/myusername/ camino. Antes de tenerlo en el /Users/myusername/Desktop/ . Este post se puede encontrar aquí - https://stackoverflow.com/questions/64110897/simple-bash-script-doesnt-cron-properly?noredirect=1#comment113370465_64110897

Mi pregunta: ¿Todos mis bash y Python scripts tienen que estar alojados en /Users/myusername ¿Siempre el camino? ¿No hay ninguna solución?

3voto

Joel Puntos 112

Pregunta:

Mi pregunta: ¿Todos mis bash y Python scripts tienen que estar alojados en /Users/myusername ¿Siempre el camino? ¿No hay ninguna solución?

Respuesta:

No. Usted puede ubicar su bash y Python scripts en cualquier lugar que desee. Sin embargo, hay requisitos adicionales :

  1. Su cron los trabajos se ejecutan con un MEDIO AMBIENTE que cuando los ejecuta; por ejemplo $PATH . Por lo tanto, debe utilizar un especificación de la ruta completa para especificar sus scripts en el crontab ; por ejemplo uso:

            • /opt/local/bin/python3 /some/dir/you/choose/myscript.py
  2. En mi Mac (Catalina) he comprobado que es necesario dar privilegios de "Acceso total al disco" a cron . YMMV en una versión diferente del sistema operativo. Aquí está cómo:

System Preferences -> Security & Privacy -> Privacy ficha:

enter image description here

  1. Al menos mientras depuración su cron debería considerar la posibilidad de redirigir cualquier mensaje de error ( stderr ) a un archivo - de lo contrario terminan en /dev/null ¡lo cual no es útil! Siguiendo con el ejemplo anterior:

            • /opt/local/bin/python3 /some/dir/you/choose/myscript.py >> /Home/<username>/MyCronLog.txt 2>&1

2voto

Oskar Puntos 1242

Puede que sólo tengas que asegurarte de conceder permisos a los elementos y utilizar rutas completas para todo. Sólo porque un script se ejecute cuando estás en un shell interactivo, no significa que sean correctos en un shell limitado.

Estos son unos súper consejos de depuración en una pregunta reciente.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X