GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mengatur logrotate untuk memutar log setiap jam?

Tergantung pada OS Anda. Beberapa (semua?) Distribusi Linux memiliki direktori /etc/cron.hourly di mana Anda dapat menempatkan tugas cron untuk dieksekusi setiap jam.

Lainnya memiliki direktori /etc/cron.d/ . Di sana Anda dapat meletakkan cron-job yang akan dijalankan sebagai pengguna khusus dengan pengaturan cron biasa dari entri crontab (dan Anda harus menentukan nama pengguna).

Jika Anda menggunakan salah satu dari ini alih-alih skrip rotasi log standar di /etc/cron.daily/ Anda harus menyalin skrip itu di sana dan cp /dev/null ke posisi semula. Jika tidak, itu akan diaktifkan kembali oleh pembaruan patch logrotate.

Untuk rotasi per jam yang tepat, perhatikan juga dateext direktif adalah tidak mengatur. Jika demikian, secara default file yang diputar pertama akan mendapatkan ekstensi tanggal saat ini seperti YYYYMMDD. Kemudian, logrotate kedua kalinya akan aktif di hari yang sama, itu hanya melewatkan rotasi bahkan jika size ambang telah terlampaui.

Alasannya adalah nama baru file yang akan diputar sudah ada, dan logrotate tidak menambahkan konten ke file lama yang ada. Misalnya pada RHEL dan CentOS, dateext direktif diberikan secara default di /etc/logrotate.conf . Setelah menghapus atau mengomentari baris tersebut, file yang diputar hanya akan mendapatkan nomor berjalan sebagai ekstensi hingga mencapai rotate nilai. Dengan cara ini, Anda dapat melakukan beberapa rotasi dalam sehari.


Hanya untuk menambah jawaban Nils, jika mengubah lokasi logrotate skrip pada kotak Debian atau Ubuntu, mungkin lebih aman menggunakan dpkg-divert daripada hanya menyalin file dan menyalin /dev/null ke posisi semula misalnya:

dpkg-divert --add --rename --divert /etc/cron.hourly/logrotate /etc/cron.daily/logrotate

Satu opsi lain adalah menambahkan perintah logrotate ke dalam daftar crontab. Kemudian akan dieksekusi setiap jam.

crontab -e

tambahkan baris di bawah ini ke dalam daftar crontab

0 * * * * /usr/sbin/logrotate /etc/logrotate.d/my-hourly-file

Linux
  1. Kesalahan dalam file Sudoers? Inilah cara Anda memperbaikinya.

  2. Bagaimana Linux Menangani Beberapa Pemisah Jalur Berturut-turut (/home////username///file)?

  3. Bagaimana /etc/motd Diperbarui?

  1. CentOS / RHEL :Cara Memulihkan dari file /etc/passwd yang dihapus

  2. CentOS / RHEL :Cara memutar file /var/log/wtmp dan /var/log/btmp menggunakan logrotate

  3. Bagaimana cara mengatur tugas cron untuk menjalankan yang dapat dieksekusi setiap jam?

  1. Bagaimana cara mengatur pelengkapan otomatis untuk perintah Git?

  2. Bagaimana kita bisa mendapatkan daftar pengguna non-sistem di linux?

  3. Cara menggunakan @reboot di /etc/cron.d