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 cronscrive acceda /var/log/syslog.
Se il tuo sistema dipende rsyslogo syslogdpuoi controllare e rimuovere il commento in /etc/rsyslog.confo /etc/syslog.confper riga:
# cron.* /var/log/cron.log
e quindi riavviare i servizi.
Se il tuo sistema dipende, systemdad 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 crontablavori viene inviato all'indirizzo di posta elettronica locale dell'utente proprietario. ad esempio: l' crontaboutput 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 MAILTOun'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 stdoute stderrviene 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 stderrregistri a e-mail e stdoutregistri a un file. In questo caso verrai avvisato via e-mail quando i tuoi crontabcomandi generano messaggi di errore imprevisti. La differenza con l'esempio precedente è che 2>&1viene rimosso per consentire stderrall'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 alli registri con
journalctl --unit crond -n all