Cron mengirimkan output ke mailer. Jika Anda ingin melihat output di terminal maka Anda dapat masuk ke file dan menggunakan tail -f untuk melihat output di terminal yang ingin Anda lihat output
Log ke file
- Jawaban paling sederhana adalah dengan login langsung ke file dengan entri crontab seperti:
0 07-17 * * * /home/dat/scripts/cron.out > /path/to/log.txt 2> /path/to/error.txt
Cara alternatif untuk masuk:
- Jika program Anda adalah skrip yang dapat ditulis, Anda dapat memodifikasinya untuk mengarahkan kembali keluaran ke file log.
echo output > log.txt
, atau Anda dapat menggunakan skrip pembungkus yang dijelaskan di bawah ini.
- Jika program Anda adalah biner atau tidak dapat ditulisi, maka Anda harus menulis skrip wrapper untuk menangkap output ke file.
Contoh program dan skrip wrapper:
$ cat program.sh wrapper.sh
#!/bin/bash
# sample program
echo "arg 1=$1 arg2=$2 arg3=$3"
echo "sample error" >&2
#!/bin/bash
# sample wrapper
exec ./program.sh "$@" >log.txt 2> error.txt
Contoh jalankan 1:
$ ./wrapper.sh 1 2 3 ; cat error.txt log.txt
sample error
arg 1=1 arg2=2 arg3=3
Contoh menjalankan 2:
$ ./wrapper.sh "A B C" D E ; cat error.txt log.txt
sample error
arg 1=A B C arg2=D arg3=E
Lihat output di terminal:
Sekarang saat Anda logout baik standard out maupun standard error ke sebuah file, di terminal apa pun, Anda dapat menjalankan tail -f
satu atau kedua file seperti tail -f log.txt
atau tail -f log.txt error.txt
agar tail akan menonton atau lebih tepatnya mengikuti file untuk perubahan. tail man-page
$ tail -f log.txt error.txt
==> log.txt <==
arg 1=1 arg2=2 arg3=3
==> error.txt <==
sample error
File log yang ditambahkan setelahnya:
Jika log.txt atau error.txt ditambahkan kemudian dari program Anda atau dari terminal lain seperti $ echo "more output" >> log.txt
, output terlihat pada terminal yang berjalan$ tail -f log.txt error.txt
==> log.txt <==
more output
Selanjutnya, $ echo code red >> error.txt
menghasilkan:
==> error.txt <==
code red