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 -
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 -
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
Partager