¿Dónde está mi archivo de registro de crontab?

9

no / var / log / cron, no /var/log/cron.log en mi debian7, ¿dónde está mi archivo de registro de crontab?

ls /var/log/cron*
ls: cannot access /var/log/cron*: No such file or directory
es_una_literatura
fuente

Respuestas:

13

Creo que en debian cronescribe inicia sesión /var/log/syslog.
Si su sistema depende rsyslogo syslogdpuede marcar y descomentar en /etc/rsyslog.confo /etc/syslog.confpara la línea:

# cron.* /var/log/cron.log

y luego reinicie los servicios.

Si su sistema depende, systemdpor ejemplo, puede verificar con el siguiente comando:

journalctl _COMM=cron

o

journalctl _COMM=cron --since="date" --until="date"

Para el formato de fecha, puede consultar journalctl .

taliezin
fuente
no /etc/rsyslog.con y /etc/syslog.conf en mi debian7.
it_is_a_literature
el primer archivo es un error tipográfico debe ser /etc/rsyslog.conf si no está con systemd.
taliezin
¿qué pasa sudo journalctl --since yesterday -u cron.service? ¿Qué es _COMM?
guiones
4

Por defecto, los resultados de los crontabtrabajos se envían a la dirección de correo electrónico local del usuario propietario. por ejemplo: la crontabsalida para un usuario en el host www.aDomain.com se enviaría a [email protected] . El sistema utiliza su aplicación de correo predeterminada para realizar la tarea.

Puede desviar esta salida a una dirección de correo electrónico alternativa agregando una MAILTOdeclaración dentro del archivo crontab. Por ejemplo:

# Mail any output to [email protected], no matter whose crontab this is
[email protected]
# Run the following command ten minutes after midnight, every day
10 0 * * *       $HOME/bin/aJob.sh 

Tenga cuidado al usar una dirección de correo electrónico externa para recibir registros crontab. Los mensajes enviados con frecuencia pueden quedar atrapados en un filtro de spam. Luego, deberá marcar los mensajes como No Spam para servicios como Yahoo, HotMail o Gmail.

Una solución alternativa sería redirigir la salida de sus comandos crontab a un archivo de su elección. En el ejemplo a continuación, se envía la salida stdouty . Este método elimina la posibilidad de que se envíe un mensaje de correo electrónico.stderr/tmp/aJob.log

# Run the following command ten minutes after midnight, every day
10 0 * * *       $HOME/bin/aJob.sh >> /tmp/aJob.log 2>&1

Otra alternativa es enviar stderrregistros al correo electrónico y stdoutregistros a un archivo. En este caso, recibirá una alerta por correo electrónico cuando sus crontabcomandos generen mensajes de error inesperados. La diferencia con el ejemplo anterior es que 2>&1se elimina para permitir que la stderrsalida vaya a la consola y, por lo tanto, al correo electrónico.

# Mail any output to [email protected], no matter whose crontab this is
[email protected]    
# Run the following command ten minutes after midnight, every day
10 0 * * *       $HOME/bin/aJob.sh >> /tmp/aJob.log

Leer más tablas crontab y comando crontab

ikrabbe
fuente
1

Dado que esto no está etiquetado como debian y también aparece en las búsquedas de fedora, a continuación se explica cómo verificar si hay fedora reciente (basada en systemd):

sudo systemctl status crond

Salida típica

 crond.service - Command Scheduler
   Loaded: loaded (/usr/lib/systemd/system/crond.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2019-09-29 16:09:21 CEST; 47min ago
 Main PID: 1167 (crond)
    Tasks: 1
   Memory: 2.8M
      CPU: 948ms
   CGroup: /system.slice/crond.service
           └─1167 /usr/sbin/crond -n

Sep 29 16:09:21 ncelrnd0216 systemd[1]: Started Command Scheduler.
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) STARTUP (1.5.4)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (Syslog will be used instead of sendmail.)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (RANDOM_DELAY will be scaled with factor 31% if used.)
Sep 29 16:09:21 ncelrnd0216 crond[1167]: (CRON) INFO (running with inotify support)

y alllos registros con

journalctl --unit crond -n all
eddygeek
fuente