GNU/Linux >> Belajar Linux >  >> Linux

Logrotate:Memutar file non-log?

Solusi 1:

Tanpa perubahan pada proses Anda, logrotate sendiri tidak akan melakukan apa yang Anda cari di sini. Masalah utama di sini adalah, sementara logrotate dapat mengambil wildcard, itu tidak akan memperlakukan file sebagai satu jika Anda melakukannya dan sebaliknya akan mencoba memutar semuanya satu per satu, yang jelas BUKAN yang Anda inginkan.

Namun, Anda dapat membuatnya berfungsi seperti yang Anda gambarkan selama cadangan terbaru dibuat tanpa stempel tanggal. Jika Anda membuat cadangan proses membuat /root/backup.tar.gz misalnya, Anda dapat menggunakan konfigurasi logrotate berikut:

/root/backup.tar.gz {
    rotate 5
    nocompress
    dateext
    dateformat _%Y-%m-%d
    extension .tar.gz
    missingok
}

Ikhtisar singkat opsi di sini:

  • rotate 5 -- pertahankan 5 putaran sebelum menghapus
  • nocompress -- jangan kompres file setelah diputar
  • dateext -- gunakan tanggal sebagai ekstensi rotasi alih-alih menambah angka
  • dateformat _%Y-%m-%d -- atur format ekstensi tanggal yang ingin Anda gunakan
  • extension .tar.gz -- buat .tar.gz datang setelah ekstensi rotasi
  • missingok -- jika file yang ingin kita putar tidak ada, jangan khawatir dan lanjutkan (defaultnya adalah membuat kesalahan)

Semoga ini bisa membantu!

Solusi 2:

Anda tidak harus menggunakan logrotate untuk melakukannya. Cukup gunakan perintah seperti ini:

ls -1 /root/backup_* | sort -r | tail -n +6 | xargs rm > /dev/null 2>&1

Perintah ini akan meninggalkan 5 file terbaru dan menghapus sisanya (jika ada). Anda dapat menggunakannya dalam tugas cron.

Solusi 3:

Logrotate memutar file, jadi jawabannya adalah ya - mungkin, dan jika tidak ada izin yang memadai maka letakkan di / backup atau sesuatu. Periksa grup dan pengguna apa yang dimiliki log yang diputar :-).

Ada opsi untuk kompresi di logrotate, jadi jika "compress" TIDAK dikonfigurasi - maka itu tidak akan dicoba. Juga dalam kasus Anda, opsi "putar 5".

Lihat di /etc/logrotate.d (atau di mana pun disimpan di sistem Anda)


Linux
  1. Tempel File Tanpa Pembatas?

  2. Grep:Memori Habis?

  3. Ganti Nama File Di Direktori?

  1. Dd:Beberapa File Input?

  2. wc file yang di-gzip?

  3. Hapus file dengan logrotate

  1. Cara Mengelola File Log Menggunakan Logrotate Di Linux

  2. Temukan File Terbesar Secara Rekursif?

  3. Cara Memberitahu Logrotate Untuk Mengabaikan File yang Terbuka?