Récupération liste de fichier pour qmail-inject
Hello,
Je dois écrire un script shell afin de récupérer un certain nombre de fichiers dans un répertoire pour ensuite les injecter dans qmail. Ce sera un script qui tournera en crontab.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
|
# Répertoire où se trouve les fichiers
REP_TO_SEND="to_send/"
# Répertoire où les mettre en cache avant l'injection
REP_SEND_CACHE="send_cache/"
# Vérification du nombre d'arguments
if [ $# -lt 2 ]; then
echo "Erreur, il manque des arguments"
echo "\$1 : Répertoire où se trouve les fichiers"
echo "\$2 : nombre de fichier à ajouter dans la queue"
exit 1
fi
# On vérifie si le répertoire passé en paramétre existe
if [ ! -d $1 ]; then
echo "Erreur, $1 n'existe pas ou n'est pas un répertoire"
exit 1
else
REP_FICHIER=$1
fi
# Nombre de fichier à injecter par appel
compteur=$2
# On récupére la liste des fichiers
LIST=`ls ${REP_FICHIER}${REP_TO_SEND} -1tr | head -n $compteur`
# Boucle qui va déplacer les fichiers dans le cache temporaire et les injecter
for fichier in "$LIST"; do
echo "mv ${REP_FICHIER}${REP_TO_SEND}${fichier} ${REP_FICHIER}${REP_SEND_CACHE}${fichier}"
echo "$QMAIL_BIN < ${REP_FICHIER}${REP_SEND_CACHE}${fichier}"
done |
L'ennui se situe au niveau de la boucle for. Elle n'est exécuté qu'une fois, même si il y a plusieurs fichier. Je me demande si ça ne vient pas du fait que je récupére via un ls -1tr et que les retours-chariot du ls pose problème.
quelqu'un a une idée ???
@ bientôt
[/code]