web-dev-qa-db-fra.com

Un script pour surveiller les nouveaux fichiers dans le dossier afin que je puisse les ajouter à des fichiers XML externes

Je souhaite surveiller (par cron, la partie couverte: P) de nouveaux fichiers audio dans des dossiers afin de pouvoir les ajouter à des fichiers XML distincts qui agissent comme un flux RSS de podcast. La structure du fichier ressemble à ceci:

- Podcasts
-- Show number one
--- Audio file of the show for week one.mp3
--- Audio file of the show for week two.mp3
-- Show number two
--- Audio file of the show for week one.mp3
--- Audio file of the show for week two.mp3
-- So on

La création de fichier audio est automatisée par un ordinateur de notre studio, qui les télécharge sur notre serveur Ubuntu afin que les fichiers soient accessibles au public. Maintenant, l’idée est de tout automatiser car nous n’avons que des volontaires et ils sont paresseux! :)

À présent, le script devrait rechercher de nouveaux dossiers dans les fichiers "podcast" et les nouveaux fichiers audio dans les dossiers "afficher le numéro X". Chaque fois qu'il y a un nouveau dossier de spectacle, je dois créer un nouveau fichier XML pour ce podcast spécifique et chaque fois qu'il y a un nouveau fichier audio dans une émission, je dois l'ajouter au fichier XML de l'émission.

Maintenant, je connais très bien la structure des fichiers XML, je suis tout à fait dans le noir en ce qui concerne les scripts bash. Comment créer un script qui recherche de nouveaux fichiers et dossiers? Le script peut-il écrire dans un fichier XML?

Cordialement,

4

Jetez un coup d'oeil à iWatch

apt-get install iWatch

De la page de manuel:

iWatch - un système de fichiers en temps réel surveille/surveille les modifications apportées aux répertoires/fichiers spécifiés

Exemple:

iWatch /tmp -e create -c <your command/script>

Explique:

surveillez dossier/tmp pour les nouveaux fichiers/dossiers créés. Pour chaque nouvelle commande de création de fichier/dossier créée, votre commande/script

Dans votre cas, vous pouvez exécuter un script qui génère ces fichiers XML.

Je ne peux pas vous donner de réponse plus détaillée, mais c'est peut-être un bon point de départ pour de meilleures réponses :)

2
Wolfy

Il existe peut-être d'autres méthodes pour éditer des fichiers XML dans bash, mais quelque chose comme XMLStarlet peut fonctionner pour vous. Désolé, cette réponse est partagée entre Wolfy et moi.

1
djangofan