0 votos

El trabajo Cron es Python script que no se ejecuta automáticamente a pesar de que cron y Terminal fueron añadidos al acceso total del disco

He configurado un trabajo cron para escribir cada minuto desde un script de Python una entrada en un archivo de registro que se crea desde el script de Python. El Python script funciona bien si lo ejecuto manualmente pero no se ejecuta automáticamente al ejecutar el trabajo cron.

Python script:

import logging
import os

dir_path = os.path.dirname(os.path.realpath(__file__))
filename = os.path.join(dir_path, 'test_log.log')

# Logger
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)

file_handler = logging.FileHandler(filename)
file_handler.setLevel(logging.INFO)
file_handler.setFormatter(logging.Formatter('%(asctime)s - %(levelname)s - %(message)s'))
logger.addHandler(file_handler)

def do_logging():
    logger.info("test")

if __name__ == '__main__':
    do_logging()

He añadido Terminal y cron al acceso total del disco. El trabajo cron fue creado con éxito Soy capaz de listar el trabajo cron con crontab -l . ¿Cuál podría ser la razón?

Vista de Cron:

enter image description here

Acceso total al disco: enter image description here

2voto

Max Hager Puntos 21

He registrado la salida de la tarea cron de la siguiente manera:

* * * * * python /Users/maxhager/test/some.py > /Users/maxhager/test/backup.log 2>&1

> /Users/maxhager/test/backup.log 2>&1 está creando un archivo llamado backup.log y registra la salida estándar y los errores.

A partir de esta información vi que mi Python no se encontraba así que cambié python a python3 y funcionó.

Solución:

* * * * * python3 /Users/maxhager/test/some.py > /Users/maxhager/test/backup.log 2>&1

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