no / var / log / cron, no /var/log/cron.log di debian7 saya, Di manakah logfile saya dari 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 di debian7 saya, Di manakah logfile saya dari crontab?
ls /var/log/cron*
ls: cannot access /var/log/cron*: No such file or directory
Jawaban:
Saya pikir pada debian
cron
menulis log di /var/log/syslog
.
Jika sistem Anda bergantung pada rsyslog
atau syslogd
Anda dapat memeriksa dan menghapus komentar baik dalam /etc/rsyslog.conf
atau /etc/syslog.conf
untuk baris:
# cron.* /var/log/cron.log
dan kemudian restart layanan.
Jika sistem Anda bergantung pada systemd
misalnya, Anda dapat memeriksa dengan perintah berikut:
journalctl _COMM=cron
atau
journalctl _COMM=cron --since="date" --until="date"
Untuk format tanggal Anda dapat memeriksa jurnalctl .
sudo journalctl --since yesterday -u cron.service
? Apa _COMM
?
Secara default, output dari crontab
pekerjaan dikirim ke alamat email lokal pengguna yang memiliki. misalnya:crontab
Output untuk aUser di host www.aDomain.com akan dikirim ke aUser@www.aDomain.com . Sistem menggunakan mailer default untuk menyelesaikan tugas.
Anda dapat mengalihkan output ini ke alamat email alternatif dengan menambahkan MAILTO
pernyataan di dalam file crontab. Sebagai contoh:
# 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
Hati-hati saat menggunakan alamat email eksternal untuk menerima log crontab. Pesan yang sering dikirim mungkin terperangkap dalam filter spam. Anda kemudian harus menandai pesan sebagai Bukan Spam untuk layanan seperti Yahoo, HotMail, atau Gmail.
Solusi alternatif adalah mengarahkan output perintah crontab Anda ke file pilihan Anda. Pada contoh di bawah ini stdout
danstderr
output dikirim ke /tmp/aJob.log
. Metode ini menghilangkan kemungkinan pesan email yang dikirim.
# Run the following command ten minutes after midnight, every day
10 0 * * * $HOME/bin/aJob.sh >> /tmp/aJob.log 2>&1
Alternatif lain adalah mengirim stderr
log ke email dan stdout
log ke file. Dalam hal ini Anda akan diperingatkan melalui email ketika crontab
perintah Anda menghasilkan pesan kesalahan yang tidak terduga. Perbedaannya dengan contoh sebelumnya adalah yang 2>&1
dihapus untuk memungkinkan stderr
keluaran masuk ke konsol dan oleh karena itu ke email.
# 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
Baca lebih lanjut tabel crontab dan perintah crontab
Karena ini bukan tag debian dan juga muncul di pencarian fedora, berikut ini cara memeriksa fedora terbaru (berbasis systemd):
sudo systemctl status crond
Output khas
● 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)
dan all
log dengan
journalctl --unit crond -n all