Bonjour
J'ai un nombre non négligeable de fichiers à traiter et afin d'en accélérer le traitement je souhaiterais créer un script pour le distribuer entre plusieurs machine ...
Le programme pour effectuer ce traitement tourne au poil ... Je souhaite donc utiliser un script (bash à priori) pour ce faire ...
Les fichiers sont classés dans deux répertoires : à traiter et traités ... Le premier est donc plein et le second est vide avant de commencer, et l'inverse quand la tache est finie ...
Ce que je souhaite faire, afin d'éviter que deux machines ne traitent deux fois le même fichier, le script liste le contenu du répertoire A CHAQUE PASSAGE DE LA BOUCLE, et n'en récupère qu'un seul fichier (qui sera déplacé ensuite dans le dossier traité) et effectue son traitement dessus ...
Mon problème est : Comment puis-je obtenir le nom d'UN SEUL fichier parmi tous ceux qui se trouvent dans le répertoire ???
j'ai déjà un script qui tourne mais pour une seule machine :
#!/usr/bash
for i in `ls`
do
echo "$i"
traitement_du_fichier "$i"
done
mais en fait le problème de ce script, si je le mets directement comme ça distribué en déplaçant le fichier traité, c'est qu'il va aller chercher des fichiers qui n'existent plus, puisque la liste des fichiers est effectuée au début du script et n'est plus réactualisée avec les fichiers qui auront été déplacés puis traités entretemps ...
Merci d'avance pour vos idées ...
Poste le Thursday 12 October 2006 16:40:40