¿Dónde está el archivo de registro cron en MacOSX Lion?

19

Quiero solucionar un trabajo cron que funcionó bien hasta una modificación reciente, pero no puedo encontrar el archivo de registro cron, ¿dónde está?

    
pregunta Ali 31.01.2012 - 18:23

5 respuestas

24

De forma predeterminada, cron no registra la salida de los trabajos ejecutados. Es posible registrar el hecho de que los cronjobs se han ejecutado, pero tampoco es el predeterminado en OS X.

Para investigar el resultado de la ejecución del cronjob, sugiero modificar la línea de su cronjob para redireccionar STDOUT y STDERR a los archivos de registro. En su archivo crontab o después de ejecutar crontab -e , sin importar cómo lo haga, agregue algo como lo siguiente a su línea de trabajo:

0 0 * * * yourcommand >/tmp/stdout.log 2>/tmp/stderr.log

Al hacer esto, debe enviarse STDOUT (normalmente impresa o con eco a STDOUT) a un archivo de texto llamado stdout.log en el directorio / tmp, y STDERR a stderr.log en el directorio temporal. Muchas utilidades usan STDERR para imprimir mensajes de error especiales cuando se trata de errores de aplicación y no de errores generados por la ejecución real del programa. (Puede leer más sobre STDERR en Wikipedia).

    
respondido por el Jason Salaz 31.01.2012 - 19:04
17

Es mucho más fácil simplemente agregar lo siguiente a /etc/syslog.conf :

cron.* /var/log/cron.log 

Luego reinicia syslog

sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist 
sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist 

Probado y trabajando en OSX 10.7.4

    
respondido por el Fraidoon Sarwary 27.09.2013 - 17:12
9

Por defecto, el "registro" no está habilitado. Pero puede obtener información útil ejecutando el comando mail .

TL; DR en el comando mail : presione Intro para leer los mensajes y luego q e ingrese para salir.

    
respondido por el William Entriken 07.08.2015 - 19:24
3

Resultó cuando cron está ejecutando el trabajo (como yo), /usr/local/bin no está en PATH .
Encontré esto por prueba y error y construyendo el trabajo desde cero a partir de cosas simples que sabía que funcionarían y gradualmente agregué cosas hasta que encontré el problema.

Sobre las otras sugerencias y respuestas:
Por alguna razón (al menos en mi máquina, que está ejecutando un Lion actualizado desde SnowLeopard) cron no usa los parámetros especificados en los archivos plist que launchd está preparado para leer /System/Library/LaunchDaemons/com.vix.cron.plist o quizás no lo hace cron en Lion escribe cualquier cosa a stdout o stderr.

Por cierto, estoy usando enlace para sync una carpeta con un depósito de Amazon S3 como copia de seguridad (como un DropBox primitivo) .

    
respondido por el Ali 01.02.2012 - 18:45
2

Pude encontrar el inicio de sesión cron-job,

/var/mail/{user-name}

A continuación se encuentra un registro de trabajo cron que obtuve para ejecutar un comando CLI de AWS,

From [email protected]  Fri Mar  2 10:00:00 2018
Return-Path: <[email protected]>
X-Original-To: build
Delivered-To: [email protected]
Received: by BuildServer1.local (Postfix, from userid 501)
    id A7A94296CBA3; Fri,  2 Mar 2018 10:00:00 +0100 (CET)
From: [email protected] (Cron Daemon)
To: [email protected]
Subject: Cron <[email protected]> /app/scripts/s3-sync.sh
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=build>
X-Cron-Env: <USER=build>
X-Cron-Env: <HOME=/Users/build>
Message-Id: <[email protected]>
Date: Fri,  2 Mar 2018 10:00:00 +0100 (CET)

upload: ../../app/logs/debug.log to s3://**my-s3***/app/logs/debug.log
    
respondido por el Vineeth 02.03.2018 - 10:16

Lea otras preguntas en las etiquetas