Bonjour,

J'ai commencé un script me permettant d'archiver des fichiers ".log" vieux de X jours, explication :

- Dans une arborescence, chercher les dossier "log",
- Si dans ce dossier "log", il y a des fichiers ".log" vieux de X jours, les archiver,
- Déplacer cette archive dans une arborescence bis en recréant les dossiers de l’arborescence de base.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
 
for folder in $(find . -name log -type d ) # Pour chaque dossiers "log" trouvé.
do :
	for file in $(find $folder *.log -mtime +30) # Pour chaque dossier log contenant des fichiers ".log" vieux de +30jours.
    do :
		tar czf archive-log.tar.gz $folder/*.log # Archiver les fichiers ".log".
	done
 
	if [ -e $folder/*.tar.gz ] # Si une archive existe.
         then mv $folder/*.tar.gz $ARCHIVE # Déplacer l'archive.
    fi
 
done
$folder/*.log --> je ne peux faire comme ça, ne fonctionne pas.

Avez-vous une alternative à me proposer ?

Je vous remercie d'avance.