Bonjour,

J'essaie de faire un script me permettant d'archiver des fichiers .log se trouvant dans des dossiers "log".

Étant débutant dans ce domaine, je vais vous exposer tout ça en détail :

1 - Chercher dans une arborescence les dossiers "log",
2 - Dans chaque dossiers, compter le nombre de fichiers .log,
3 - Si les fichiers sont vieux de X jours, les compresser dans une archive,
4 - Déplacer l'archive vers une arborescence identique bis.

Exemple de l'arborescence :

/home/arbo1/dossier1/dossier2/log

Arborescence bis qui devra se créer :

/home/arbo2/dossier1/dossier2/log

Code :

1 -
Code : Sélectionner tout - Visualiser dans une fenêtre à part
find . -name log -type d -exec echo '{}' +
J'ai bien le chemin de mes dossiers "log" qui est retourné.

2 - Comment aller dans le path retourné des dossier logs ?
Sinon quand j'y vais à la main, j'ai bien le nombre de fichiers retourné.

3 -
Code : Sélectionner tout - Visualiser dans une fenêtre à part
find *.log -mtime +30 -exec gzip log.tar {} \;
De ce côté, mes logs sont compressés un à un, alors que je veux une archive globale.

4 - Comment dire qu'on veut recréer l'arborescence principale dans un dossier source bis (arbo2/dossier1/dossier2/log) afin de déplacer cette archive dans le dossier log de l'arborescence bis ? Comment récupérer qu'une partie du path avec pwd ?

J'avais en tête de créer une fonction pour toutes ces étapes et de faire une boucle for pour chaque dossier "log" appeler cette fonction.

Merci d'avance