no / var / log / cron, no /var/log/cron.log sul mio debian7, dov'è il mio file di log di crontab?
ls /var/log/cron*
ls: cannot access /var/log/cron*: No such file or directory
no / var / log / cron, no /var/log/cron.log sul mio debian7, dov'è il mio file di log di crontab?
ls /var/log/cron*
ls: cannot access /var/log/cron*: No such file or directory
Risposte:
Penso che debian
cron
scrive acceda /var/log/syslog
.
Se il tuo sistema dipende rsyslog
o syslogd
puoi controllare e rimuovere il commento in /etc/rsyslog.conf
o /etc/syslog.conf
per riga:
# cron.* /var/log/cron.log
e quindi riavviare i servizi.
Se il tuo sistema dipende, systemd
ad esempio, puoi verificare con il seguente comando:
journalctl _COMM=cron
o
journalctl _COMM=cron --since="date" --until="date"
Per il formato della data è possibile controllare journalctl .
sudo journalctl --since yesterday -u cron.service
? Che cosa è _COMM
?
Per impostazione predefinita, l'output dei crontab
lavori viene inviato all'indirizzo di posta elettronica locale dell'utente proprietario. ad esempio: l' crontab
output di aUser sull'host www.aDomain.com verrebbe inviato a aUser@www.aDomain.com . Il sistema utilizza il suo mailer predefinito per eseguire l'attività.
È possibile deviare questo output su un indirizzo email alternativo aggiungendo MAILTO
un'istruzione all'interno del file crontab. Per esempio:
# Mail any output to myuser@gmail.com, no matter whose crontab this is
MAILTO=myuser@gmail.com
# Run the following command ten minutes after midnight, every day
10 0 * * * $HOME/bin/aJob.sh
Fai attenzione quando usi un indirizzo email esterno per ricevere i log di crontab. I messaggi inviati di frequente possono essere catturati in un filtro antispam. Dovresti quindi contrassegnare i messaggi come Non spam per servizi come Yahoo, HotMail o Gmail.
Una soluzione alternativa sarebbe quella di reindirizzare l'output dei comandi crontab su un file a scelta. Nell'esempio seguente, l' output stdout
e stderr
viene inviato a /tmp/aJob.log
. Questo metodo elimina la possibilità di inviare un messaggio e-mail.
# Run the following command ten minutes after midnight, every day
10 0 * * * $HOME/bin/aJob.sh >> /tmp/aJob.log 2>&1
Un'altra alternativa è quella di inviare stderr
registri a e-mail e stdout
registri a un file. In questo caso verrai avvisato via e-mail quando i tuoi crontab
comandi generano messaggi di errore imprevisti. La differenza con l'esempio precedente è che 2>&1
viene rimosso per consentire stderr
all'output di andare alla console e quindi alla posta elettronica.
# Mail any output to myuser@gmail.com, no matter whose crontab this is
MAILTO=myuser@gmail.com
# Run the following command ten minutes after midnight, every day
10 0 * * * $HOME/bin/aJob.sh >> /tmp/aJob.log
Leggi altre tabelle crontab e il comando crontab
Dal momento che questo non è etichettato debian e appare anche nelle ricerche fedora, ecco come controllare la fedora recente (basata su systemd):
sudo systemctl status crond
Uscita tipica
● 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)
e all
i registri con
journalctl --unit crond -n all