Linux bash transfert compressé en FTP

sbouli Messages postés 208 Statut Membre -  
dubcek Messages postés 19021 Statut Contributeur -
Bonjour,

Je souhaite automatiser l'envoi de fichiers de serveurs linux vers un serveur windows. Pour des raison de commodités, j'ai porté mon choix sur du FTP, le transfert fonctionne parfaitement mais comme je transmet des fichiers texte, je souhaiterais activer un mode de transfert compressé (je ne peux pas gzipper et expédier zipper car après je lance des bulk insert depuis sql qui n'est pas capable de faire du gunzip). J'ai vu que sftp intégre un mode compressé via -C mais impossible de trouver un exemple concret d'utilisation en script avec login et pass intégré, donc je recherche une solution pour activer la compression du transfert via ftp (rien dans la man)

Voici mon bout de code FTP actuel :


ftp -in > ${v_fichier_log_ftp} << ENDFTP
open ${v_goftp_ipftp}
user ${v_goftp_usr} ${v_goftp_mdp}
cd ${D_REPERTOIRE}
mput ${prefixe_fichier}_*.csv
close
quit
ENDFTP




Merci par avance

Stéphane
A voir également:

4 réponses

Flachy Joe Messages postés 2303 Statut Membre 261
 
Apparemment ça n'existe pas nativement dans le protocole FTP, mais il existe des logiciels qui s'occupe de ça :
http://ftp-zip.qarchive.org/ par exemple
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
hello
sftp utilise ssh, est-il installé sur Windows ?
sftp -o compression=yes
0
sbouli Messages postés 208 Statut Membre 2
 
Je peux envisager d'installer un serveur ssh sur le windows mais je n'ai pas vu comment utiliser correctement le sftp en script bash, notamment le pb des login/pass ... En fait un me manque un bon exemple de sftp pour faire un mput ...

Merci pour votre aide.

Stéphane
0
dubcek Messages postés 19021 Statut Contributeur 5 637
 
soit utiliser l'authentification ssh, il n'y a alors pas besoin de login, soit utiliser expect

cat > fichier << XXX
cd ${D_REPERTOIRE}
mput ${prefixe_fichier}_*.csv
close
quit
XXX
dans fichier tes commandes

#!/usr/local/bin/expect
spawn sftp -b fichier user@system
expect "password:"
send "xxxxxxx!\n";
interact
0