IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Récupération liste de fichier pour qmail-inject


Sujet :

Linux

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 71
    Points : 57
    Points
    57
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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]

  2. #2
    Membre du Club
    Inscrit en
    Septembre 2004
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 71
    Points : 57
    Points
    57
    Par défaut
    Toutes mes excuses pour ce post un peu inutile ... je viens de trouver le pb... c'était juste for fichier in $LIST; do qu'il fallait mettre et non : for fichier in "$LIST"; do


    ++

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 05/10/2004, 22h43
  2. Réponses: 7
    Dernier message: 19/09/2004, 22h01
  3. Liste de fichiers et de répertoires
    Par Freakazoid dans le forum C++
    Réponses: 4
    Dernier message: 09/08/2004, 17h16
  4. liste des fichiers d'un répertoire
    Par am dans le forum C
    Réponses: 3
    Dernier message: 04/08/2003, 17h03
  5. [Kylix] Liste des fichiers d'un répertoire
    Par Houben Jacques dans le forum EDI
    Réponses: 3
    Dernier message: 30/11/2002, 21h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo