tech:purge_keep_only_last_recent
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Prochaine révision | Révision précédente | ||
| tech:purge_keep_only_last_recent [2025/03/24 15:06] – créée - modification externe 127.0.0.1 | tech:purge_keep_only_last_recent [2026/06/07 19:12] (Version actuelle) – modification externe 127.0.0.1 | ||
|---|---|---|---|
| Ligne 1: | Ligne 1: | ||
| + | < | ||
| + | {{tag> | ||
| + | |||
| + | # Script effacer plusieurs fichiers, sauf les n derniers | ||
| + | |||
| + | Voir aussi logrotate | ||
| + | |||
| + | script | ||
| + | |||
| + | `purge_keep_only_last_recent.sh` | ||
| + | ~~~bash | ||
| + | #! /bin/bash | ||
| + | set -o nounset | ||
| + | |||
| + | # Parametres | ||
| + | CHEMIN=~/ | ||
| + | |||
| + | # ADD 1; If KEEP_LAST=5 => Only 4 will be kept | ||
| + | KEEP_LAST=10 | ||
| + | |||
| + | purge() { | ||
| + | local FICHIER=$1 | ||
| + | |||
| + | NEWER_THAN=$(ls -1t $CHEMIN/ | ||
| + | |||
| + | if [[ ! -z " | ||
| + | then | ||
| + | find $CHEMIN -depth -maxdepth 1 -type f -not -newer $(ls -1t $CHEMIN/ | ||
| + | fi | ||
| + | } | ||
| + | |||
| + | |||
| + | purge ' | ||
| + | purge ' | ||
| + | purge ' | ||
| + | purge ' | ||
| + | ~~~ | ||
| + | |||
| + | ---- | ||
| + | ### Notes sur " | ||
| + | |||
| + | **-delete** | ||
| + | Effacer les fichiers, et renvoyer vrai si l' | ||
| + | l' | ||
| + | le statut de sortie de find sera différent | ||
| + | s' | ||
| + | l' | ||
| + | |||
| + | Attention : N' | ||
| + | comme une expression. Écrire -delete en premier forcera find à essayer | ||
| + | d' | ||
| + | indiqué. Lorsque vous testez une ligne de commande de find qui utilisera | ||
| + | -delete, vous devriez préciser l' | ||
| + | prises | ||
| + | utiliser en même temps -prune et -delete. | ||
| + | |||
| + | Source : man find | ||
