GNU/Linux >> Belajar Linux >  >> Linux

Rotasi log stdout?

Sebagai alternatif, Anda dapat menyalurkan output melalui alat yang dirancang dengan tujuan utama mempertahankan kumpulan file log yang dibatasi ukurannya, diputar secara otomatis, seperti:

  • multilog Dan Bernstein dari daemontools
  • multilog dari Bruce Guenter dari daemontools-encore
  • s6-log Laurent Bercot dari s6
  • svlogd dari Gerrit Pape dari runit
  • tinylog dari Wayne Marshall dari pelaku
  • cyclog saya dari nosh

Alat untuk kemudian memproses multilog -format set file log termasuk, antara lain:

  • multilog-watch dari Russ Allbery
  • logrange
  • multilog-stamptail dari Paul Kremer
  • follow-log-directories saya dari nosh
  • export-to-rsyslog saya dari nosh

Bacaan lebih lanjut

  • Jonathan de Boyne Pollard (2015). "Mencatat". Keluarga daemontools . Jawaban yang Sering Diberikan.
  • Jonathan de Boyne Pollard (2016). Jangan gunakan logrotate atau newsyslog di abad ini. . Jawaban yang Sering Diberikan.
  • https://unix.stackexchange.com/a/326166/5132

rotatelogs alat dikirimkan dengan apache (dalam bin dir) (lihat dokumen) mengambil input dari stdin dan memutar log setelah beberapa waktu tertentu


Saya memiliki masalah serupa dan awalnya membuang logrotate tetapi ternyata logrotate benar-benar dapat melakukan ini dengan baik, arahan kuncinya adalah "copytruncate ". Untuk beberapa alasan istilah itu tidak muncul di googling mana pun yang saya lakukan, jadi saya menambahkan jawaban ini untuk mengklarifikasi dengan tepat bagaimana menggunakannya untuk kasus ini.

Triknya adalah ini hanya berfungsi jika pengalihan dilakukan dengan ">> " (tambahkan) alih-alih "> " (buat).

File Konfigurasi (truncate.cfg):

/tmp/temp.log {
    size 10M
    copytruncate
    rotate 4
    maxage 100
}

Uji Program (tidak pernah menyerah file). Anda dapat melihatnya mengisi disk dan meskipun menghapus file log tampaknya berfungsi, itu tidak benar-benar membebaskan ruang apa pun pada disk:

cat /dev/urandom >> /tmp/temp.log

Menjalankan rotasi log:

logrotate truncate.cfg

Linux
  1. Perintah Untuk Mengeluarkan Konten File Ke Stdout?

  2. Temukan File Log Firefox?

  3. Cara mengarahkan output ke file dan stdout

  1. Bagaimana cara mencetak keluaran perintah Linux ke file?

  2. cp -L vs cp -H

  3. redirect log layanan systemd ke file

  1. Cara Mengosongkan File Log di Linux

  2. Cara menggunakan Logrotate untuk mengelola file log

  3. Cara Membuat Rotasi File Log Kustom dengan logrotate di Linux