Solution 1 :
Sans modification de votre processus, logrotate seul ne fera pas ce que vous recherchez ici. Le problème clé ici est que, bien que logrotate puisse accepter des caractères génériques, il ne traitera pas les fichiers comme un seul si vous le faites et tentera plutôt de les faire pivoter tous individuellement, ce qui n'est certainement PAS ce que vous voulez.
Vous pouvez cependant le faire fonctionner comme vous le décrivez tant que la sauvegarde la plus récente est créée sans horodatage. Si votre processus de sauvegarde crée /root/backup.tar.gz
par exemple, vous pouvez utiliser la configuration logrotate suivante :
/root/backup.tar.gz {
rotate 5
nocompress
dateext
dateformat _%Y-%m-%d
extension .tar.gz
missingok
}
Le récapitulatif rapide des options ici :
rotate 5
-- conserver 5 rotations avant de supprimernocompress
-- ne pas compresser les fichiers après la rotationdateext
-- utiliser la date comme extension de rotation au lieu d'incrémenter les nombresdateformat _%Y-%m-%d
-- définissez le format d'extension de date que vous souhaitez utiliserextension .tar.gz
-- faire le.tar.gz
viennent après l'extension de rotationmissingok
-- si le fichier que nous voulons faire pivoter n'est pas là, ne vous inquiétez pas et passez à autre chose (la valeur par défaut est de générer une erreur)
J'espère que cela vous aidera !
Solution 2 :
Vous n'avez pas besoin d'utiliser logrotate pour le faire. Utilisez simplement une commande comme celle-ci :
ls -1 /root/backup_* | sort -r | tail -n +6 | xargs rm > /dev/null 2>&1
Cette commande laissera les 5 fichiers les plus récents et supprimera les autres (le cas échéant). Vous pouvez l'utiliser dans une tâche cron.
Solution 3 :
Logrotate fait tourner les fichiers, donc la réponse est oui - probablement, et s'il n'y a pas d'autorisations suffisantes, placez-les dans /backup ou quelque chose du genre. Vérifiez le groupe et l'utilisateur des journaux en rotation :-).
Il existe des options de compression dans logrotate, par exemple si "compress" n'est PAS configuré - eh bien, il n'essaiera pas. Dans votre cas également, option "rotation 5".
Jetez un œil dans /etc/logrotate.d (ou partout où il est stocké dans votre système)