[FTP]Transferer une liste de fichiers
Résolu
                    
        
     
             
                    ViDikk
    
        
    
                    Messages postés
            
                
     
             
            78
        
            
                                    Statut
            Membre
                    
                -
                                     
gm -
        gm -
        Bonjour, 
Je désire transférer une liste de fichiers contenu dans un dossier, ou le dossier en entier. Pour l'instant j'ai tenté cela mais en vain :
-Pour envoyer chaque fichier :
-Pour envoyer le dossier :
merci pour votre aide ! :)
            
            
                
            
                
    
    
    
        Je désire transférer une liste de fichiers contenu dans un dossier, ou le dossier en entier. Pour l'instant j'ai tenté cela mais en vain :
-Pour envoyer chaque fichier :
ftp -pnv $REMOTESERVER << EOT user $USERNAME $PASSWORD prompt mkdir $REMOTEPATH/$DATEJOUR cd $REMOTEPATH/$DATEJOUR !LISTTARCLI='ls $HOME/$USFILE/$DATEJOUR/' !for y in $LISTTARCLI; do put $y !done bye EOT
-Pour envoyer le dossier :
ftp -pnv $REMOTESERVER << EOT user $USERNAME $PASSWORD prompt mkdir $REMOTEPATH cd $REMOTEPATH put $HOME/$DATEJOUR bye EOT
merci pour votre aide ! :)
        A voir également:         
- [FTP]Transferer une liste de fichiers
- Liste déroulante excel - Guide
- Transférer message whatsapp - Accueil - WhatsApp
- Liste code ascii - Guide
- Liste déroulante en cascade - Guide
- Explorateur de fichiers - Guide
2 réponses
                        
                    Ça n'a pas de sens de mettre des commandes ftp dans un script shell. Il faut éventuellement que tu passes tes directives ftp en paramètre de la commande ftp (si elle peut lire dans un fichier) ou par le biais de l'opérateur << EOF. 
Par exemple avec lftp tu pourrais écrire un truc du genre, mais je suis pas sûre que la commande ftp le permette :
Bonne chance
    
                Par exemple avec lftp tu pourrais écrire un truc du genre, mais je suis pas sûre que la commande ftp le permette :
#!/bin/sh echo "user ?" read user echo "password ?" read password echo "host ?" read host echo "file ?" read file lftp -u $user,$password $host << EOF cd /toto put $file exit EOF
Bonne chance
                        
                    Bonjour, merci d'avoir pris le temps de me répondre.  
J'utilise déjà la commande ftp avec l'opérateur "EOF" (chez moi c'est EOT). Mon problème n'est pas pour transférer un fichier par FTP, mais de transférer tous les fichiers d'un dossier ou le dossier en entier.
EDIT : Je viens de trouver la solution: Il suffit d'utiliser la commande "mput" avec comme paramètre "*" pour indiquer tous les fichiers du dossier dans lequel on se situe. Voilà ca que ça donne pour moi :
  
En espérant que ça en aidera d'autres !
Merci pour l'aide !
    
                J'utilise déjà la commande ftp avec l'opérateur "EOF" (chez moi c'est EOT). Mon problème n'est pas pour transférer un fichier par FTP, mais de transférer tous les fichiers d'un dossier ou le dossier en entier.
EDIT : Je viens de trouver la solution: Il suffit d'utiliser la commande "mput" avec comme paramètre "*" pour indiquer tous les fichiers du dossier dans lequel on se situe. Voilà ca que ça donne pour moi :
# On crée le repertoire où l'on stocke les sauvegardes locales mkdir $HOME/$USFILE/$DATEJOUR # On s'y place dedans pour faciliter la commande FTP par la suite cd /$HOME/$USFILE/$DATEJOUR # On crée une archive pour chaque dossier LISTCLIENTS='ls $HOME/$USPATH/' for x in $LISTCLIENTS; do echo "compression de $x :" tar -czf $HOME/$USFILE/$DATEJOUR/$x.tar.gz $HOME/$USPATH/$x done # On envoi les fichiers du dossier courant vers un serveur distant ftp -pnv $REMOTESERVER << EOT user $USERNAME $PASSWORD prompt mkdir $REMOTEPATH/$DATEJOUR cd $REMOTEPATH/$DATEJOUR mput * bye EOT
En espérant que ça en aidera d'autres !
Merci pour l'aide !
