Saya punya crontab seperti ini di pengaturan LAMP:
0 0 * * * /some/path/to/a/file.php > $HOME/cron.log 2>&1
Ini menulis output file ke cron.log . Namun, ketika dijalankan lagi, ia menimpa apa pun yang sebelumnya ada di file.
Bagaimana saya bisa mendapatkan cron untuk menghasilkan file dengan stempel waktu dalam nama file?
Contoh nama file akan menjadi seperti ini: 2010-02-26-000000-cron.log
Saya tidak terlalu peduli dengan formatnya, asalkan punya timestamp.
Terima kasih sebelumnya.
$HOME/cron.log
ditimpa, gunakan>>
tidak>
Jawaban:
Mencoba:
Bermain-main dengan format tanggal, jika Anda suka; pastikan untuk melarikan diri
%
seperti\%
, seperti di atas.sumber
0 0 * * * /some/path/to/a/file.php > $HOME/scriptname-
tanggal + \% Y \% m \% d \% H \% M \% S.log
date +\%Y\ \%m\ \%d\ \%H:\%M:\%S
-cron.logdate +\%Y-\%m-\%d_\%H:\%M:\%S-cron.log
.saya akan sangat menyarankan Anda menyimpan semuanya ke dalam file yang sama, menggunakan cap waktu, seperti yang dijelaskan di sini .
menghapus
dan jalankan melalui skrip timestamping sebelum menyimpannya ke file log (seperti yang dijelaskan dalam tautan di atas).
sumber
Anda juga dapat menambahkan output Anda ke file log dengan melakukannya seperti ini:
sumber
Saya memodifikasi skrip seperti ini:
sumber
Saya memecahkan masalah ini; cukup tambahkan jalur tanggal (/ nampan / tanggal) sebelum perintah tanggal.
sumber
sumber