Mengkonfigurasi logrotate tanpa akses root (per rotasi log pengguna)


18

Bagaimana cara terbaik logrotate dapat dikonfigurasi, berdasarkan per-pengguna, untuk memutar file di direktori home pengguna, di bawah kendali per-pengguna crontab -e?

Jawaban:


27

Coba prosedur ini:

  1. buat /home/user/logrotatefolder

    mkdir /home/user/logrotate
    
  2. buat /home/user/logrotate/my.conffile konfigurasi dengan direktif logrotate sesuai kebutuhan

  3. buat /home/user/logrotate/cronjobuntuk menjalankan logrotate setiap hari pukul 2:30 pagi (ini adalah contoh)

    30 2 * * * /usr/sbin/logrotate -s /home/user/logrotate/status /home/user/logrotate/my.conf > /dev/null 2>&1
    
  4. periksa sintaks file konfigurasi Anda:

    logrotate -d /home/user/logrotate/my.conf
    
  5. configure crontabto run logrotate ( Peringatan : Ini menghapus entri yang ada di crontab Anda. Gunakan crontab -euntuk menambahkan baris secara manual dari langkah 3 ke crontab yang ada):

    crontab /home/user/logrotate/cronjob 
    

Setelah perintah terakhir ini, logrotateakan memutar file seperti yang dijelaskan dalam /home/user/logrotate/my.confdan menyimpan status file log di /home/user/logrotate/status.

Menggunakan:

crontab -r   # remove crontab activities for user
crontab -l   # to list crontab activity for user
crontab -e   # edit user crontab entries

Berikut ini adalah halaman manual logrotate dan crontab .


3
Sangat instruktif. Mungkin harus disebutkan bahwa 'crontab <file>' menghapus semua cronjobs yang sebelumnya dikonfigurasi. Ini baru saja terjadi pada saya - untungnya saya punya cadangan :)
pederpansen

1
@pederpansen terima kasih telah meningkatkan jawaban saya :)
Lety

2
Berkat -sparameter akan menghindarierror: error creating unique temp file: Permission denied .
Marco Marsala
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.