GNU/Linux >> Linux Esercitazione >  >> Linux

Logrotate:rotazione di file non di registro?

Soluzione 1:

Senza una modifica al tuo processo, logrotate da solo non farà quello che stai cercando qui. Il problema chiave qui è che, sebbene logrotate possa accettare i caratteri jolly, non tratterà i file come uno solo se lo fai e tenterà invece di ruotarli tutti individualmente, il che NON è sicuramente quello che vuoi.

Puoi, tuttavia, farlo funzionare nel modo in cui descrivi purché il backup più recente venga creato senza un indicatore di data. Se il processo di backup crea /root/backup.tar.gz ad esempio, potresti utilizzare la seguente configurazione logrotate:

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

Il rapido riepilogo delle opzioni qui:

  • rotate 5 -- mantieni 5 rotazioni prima di eliminare
  • nocompress -- non comprimere i file dopo la rotazione
  • dateext -- usa la data come estensione di rotazione invece di incrementare i numeri
  • dateformat _%Y-%m-%d -- imposta il formato dell'estensione della data che desideri utilizzare
  • extension .tar.gz -- crea il .tar.gz viene dopo l'estensione di rotazione
  • missingok -- se il file che vogliamo ruotare non è presente, non preoccuparti e vai avanti (l'impostazione predefinita è generare un errore)

Spero che questo aiuti!

Soluzione 2:

Non devi usare logrotate per farlo. Basta usare un comando come questo:

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

Questo comando lascerà i 5 file più recenti e rimuoverà i restanti (se presenti). Puoi usarlo in un cron job.

Soluzione 3:

Logrotate ruota i file, quindi la risposta è sì, probabilmente, e se non ci sono autorizzazioni sufficienti, inseriscili in /backup o qualcosa del genere. Controlla quale gruppo e utente hanno i log ruotati :-).

Ci sono opzioni per la compressione in logrotate, quindi se "compress" NON è configurato - beh, allora non ci proverà. Anche nel tuo caso, opzione "ruota 5".

Dai un'occhiata in /etc/logrotate.d (o ovunque sia memorizzato nel tuo sistema)


Linux
  1. Trova i file più grandi in modo ricorsivo?

  2. Modo per dire a Logrotate di ignorare i file aperti?

  3. Come utilizzare Logrotate per gestire i file di registro

  4. Come rendere effettive le modifiche alla rotazione del registro

  5. logrotate:conserva N file più recenti, ma non rinominarli

Come trovare file in Linux

Come ruotare e comprimere i file di registro in Linux con Logrotate

Trova file di grandi dimensioni in Linux

Comando Rm in Linux

Come gestire i file di registro utilizzando Logrotate in Linux

Come installare Logrotate su Ubuntu 16.04 LTS