[FTP]Transferer une liste de fichiers
Résolu
ViDikk
Messages postés
69
Date d'inscription
Statut
Membre
Dernière intervention
-
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 déroulante en cascade - Guide
- Liste code ascii - 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 !