View previous topic :: View next topic |
Author |
Message |
gglaboussole l33t
Joined: 17 May 2005 Posts: 641 Location: Monbalen (47),France
|
Posted: Thu Dec 30, 2010 11:49 am Post subject: [script bash]Vérifier intégrité bibliothèque musicale |
|
|
Bonjour à tous,
Je me suis aperçu que quelques fichiers flac de ma bibliothèque musicale s'étaient corrompus (au delà de ce constat, je n'ai aucune idée de ce qui a pu causer cette corruption...disque et système de fichier sain... ->si quelqu'un à une idée sur ce qui peux causer cela je suis preneur)
Plutôt que de tester un a un mes flac, je voudrais lancer un script qui va chercher récursivement la totalité de mes flac et y appliquer flac -t.
L'algo est très simple :
Tant que fichier flac trouvé faire tester flac
Si flac corrompu alors écrire nom dans fichier log...
Pour trouver récursivement tous mes flac, a priori aucun souci :
Code: |
find '/mnt/disque2/backup-flac/' -name '*.flac' -type f
|
Je peux rediriger la sortie standard vers un fichier et constater qu'ils sont tous listés
Les problèmes arrivent dans la seconde partie de mon script, à savoir le traitement que je peux appliquer à mes flacs.
J'ai essayé d'enchainer avec -exec ou -execdir avec man find à l'appui mais à chaque fois j'ai une erreur "paramètre manquant"
En gros je faisais un truc de ce style (sans if, et sans même flac -t, juste pour débugger le truc et voir si je pouvais faire un "echo pouet" dans un fichier tant qu'un flac est rencontré :
Code: |
find '/mnt/disque2/backup-flac/' -name '*.flac' -type f -execdir /bin/echo 'pouet' >>testouille.txt
|
( j'ai essayé avec les {}, le ; , rien n'y fait toujours paramètre manquants...)
N'arrivant pas à passer cette étape pourtant simple (oui je pense que je vais en faire rire plus d'un... ) je m'en remets à vos conseils
Un fois sur la bonne voie on peut également imaginer passer le path de la bibliothèque musicale en argument, et appliquer un utilitaire de test différent en fonction de l'extension du fichier musical rencontré (mp3, ogg,...) et faire ensemble un script général de vérification de bibliothèque musicale pouvant profiter à tous ?
Merci par avance de votre aide _________________ On m'a dit que la terre tourne, alors j'attends que ma maison passe par ici... |
|
Back to top |
|
|
geekounet Bodhisattva
Joined: 11 Oct 2004 Posts: 3772 Location: Wellington, Aotearoa
|
Posted: Thu Dec 30, 2010 4:01 pm Post subject: |
|
|
Faut pas oublier le ; à la fin du -exec de find. (sans oublier de l'escape)
Code: | find '/mnt/disque2/backup-flac/' -name '*.flac' -type f -exec flac -t '{}' \; |
|
|
Back to top |
|
|
gglaboussole l33t
Joined: 17 May 2005 Posts: 641 Location: Monbalen (47),France
|
Posted: Thu Dec 30, 2010 5:23 pm Post subject: |
|
|
C'est vrai ça va mieux comme ça, merci
Je continue sur cette base et je vous tiens au courant... _________________ On m'a dit que la terre tourne, alors j'attends que ma maison passe par ici... |
|
Back to top |
|
|
gglaboussole l33t
Joined: 17 May 2005 Posts: 641 Location: Monbalen (47),France
|
Posted: Fri Dec 31, 2010 11:26 am Post subject: |
|
|
Voilà une première ébauche qui ne marche pour l'instant que pour vérifier l'intégrité des flac, je vais tenter de l'améliorer dès que j'ai le temps pour tester d'autres formats musicaux:
Code: |
#! /bin/sh
find $1 -name '*.flac' -type f -not -exec flac -t --totally-silent '{}' \; -and -print > corrompus.txt
echo 'fait !'
|
Pour l'invoquer : ./monscript /path_de_la_bibliothèque_musicale
Les fichiers corrompus sont indiqués dans le fichier corrompus.txt qui se situera dans le répertoire ou vous avez lancé le script. _________________ On m'a dit que la terre tourne, alors j'attends que ma maison passe par ici... |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|