test.sh
#!/bin/bash
echo "Hello World"
test2.sh
#!/bin/bash
while true
do
sh test.sh >> /script_logs/test.log &
done
Saya ingin menerapkan logrotate untuk mengontrol ukuran file log, jadi bagaimana menerapkan logrotate, jika situasinya seperti di atas?
cp
danmv
, dapatkah saya menghapus file log, lalu apakah itu file log baru dengan nama yang sama? (Persyaratan saya adalah, jika file log mencapai batas tertentu, saya ingin menghapus file log itu dan kemudian membuat file baru )>>
untuk menambahkan file log,>
akan menimpanya berulang kali.>
, saya mendapatkantail: test.log: file truncated Hello World!
.... Jika saya menggunakan>>
, saya mendapatkan pesan log yang benar, tetapi ukuran file meningkat. Tidak ada syarat memeriksa kondisi ... ;-(bagaimana kalau menggunakan
savelog
?Ini tersedia di debian dan RH dan hampir semua distro linux lain yang saya tahu. Ini adalah skrip shell / bin / sh, jadi harus dijalankan pada unix lain juga.
misalnya sebelum menulis apa pun untuk
test.log
dijalankansavelog -n -c 7 test.log
. Ini akan membuat 7 versi test.log tidak kosong terbaru. Secara default, ini akan memampatkan log yang diputar (tapi itu bisa dinonaktifkan dengan-l
).Jika perlu, Anda dapat memeriksa ukuran
test.log
dan hanyasavelog
jika ukurannya melebihi ukuran tertentu.sumber
/usr/bin/savelog
skrip shell di sources.debian.net/src/debianutils/4.7savelog
kotak RHEL / CentOS 5/6 saya, jadi saya baru saja mengunduhnya ad hoc, dan sepertinya berfungsi dengan baik untuk kebutuhan saya.savelog
adalah ia mengganti nama file tetapi kemudian membutuhkan waktu lama untuk meng-gzip yang lama sebelum selesai. Sementara itu .0 log sudah mendapatkan entri hari berikutnya di dalamnya. Idealnya waktu antara rotasi log dan pensinyalan proses untuk membuka kembali log harus minimal. Saya menonaktifkansavelog
fitur kompresi karena ini.Saya menulis logrotee akhir pekan ini. Saya mungkin tidak akan jika saya sudah membaca jawaban yang bagus tentang
multilog
@ JdeBP .Saya fokus pada itu menjadi ringan dan mampu bzip2 potongan outputnya seperti:
Masih banyak yang harus dilakukan dan diuji.
sumber
Karena saya belum bisa menambahkan komentar ke jawaban yang diterima , sebuah petunjuk BusyBox , di mana
du
tidak memiliki-b
bendera:sumber