{{tag>Réseau Shell SFTP FTP TLS}} = Notes client FTP lftp Voir aussi : * rclone * ncftp * curl ex : ''curl -X NLST ftp://example.com/'' * ~/.netrc == Exemple de configuration lftp ''~/.lftp/rc'' # set ftp:ssl-force false set ssl:verify-certificate/ftp.truc.com no #set prompt "lftp \S\? \u\@\h:\w> " #set ftp:passive-mode off #set ftp:ssl-force/ftp.adobe.com off #set ftp:use-feat/ftp.adobe.com off set cache:enable no == Exemple utilisation Liste toutes les variables lftp set -a Passage en mode binaire. Nécessaire ? # set type binary quote type i === Exemple 1 lftp ftp://user:Passw0rd@ftp1.acme.fr NOTE : le mot de passe être défine dans ''~/.netrc'' === Exemple 2 - Envois sosreport à RedHat lftp -v -c 'open -e "set ftps:initial-prot ""; \ set ftp:ssl-force true; \ set ftp:ssl-protect-data true; \ set ssl:verify-certificate true; \ set ftp:proxy http://192.168.56.1:3128 ; \ open anonymous:ftp@dropbox.redhat.com ; \ cd incoming ; \ put testfile' === Exemple 2 - mirroir - comme un rsync sur FTP NOTE : Il est aussi possible d'utiliser * la commande **wget** * **curlftpfs** avec **rsync** => à la place de curlftpfs il est préfèrable d'utiliser **rclone** lftp user@example.com:/pub> mirror -v data /ftp_mirror lftp user@example.com:/pub> mirror -Rv /data/remote_copy . Source : http://rajaseelan.com/2011/12/20/rsync-over-ftp/ lftp -c "set ftp:list-options -a; open ftp://user:password@your.ftp.com; lcd ./web; cd /web/public_html; mirror --reverse --delete --use-cache --verbose --allow-chown --allow-suid --no-umask --parallel=2 --exclude-glob .svn" #!/bin/bash HOST="your.ftp.host.dom" USER="username" PASS="password" FTPURL="ftp://$USER:$PASS@$HOST" LCD="/path/of/your/local/dir" RCD="/path/of/your/remote/dir" #DELETE="--delete" lftp -c "set ftp:list-options -a; open '$FTPURL'; lcd $LCD; cd $RCD; mirror --reverse \ $DELETE \ --verbose \ --exclude-glob a-dir-to-exclude/ \ --exclude-glob a-file-to-exclude \ --exclude-glob a-file-group-to-exclude* \ --exclude-glob other-files-to-exclude" Source : https://serverfault.com/questions/24622/how-to-use-rsync-over-ftp == Autres (rclone config) 1 / ProFTPd can't handle '*' in file names \ (Asterisk,Ctl,Dot,Slash) 2 / PureFTPd can't handle '[]' or '*' in file names \ (BackSlash,Ctl,Del,Dot,RightSpace,Slash,SquareBracket) 3 / VsFTPd can't handle file names starting with dot \ (Ctl,LeftPeriod,Slash) == Pb === Pb 1 http://www.unix.com/shell-programming-and-scripting/170285-how-connect-ftp-server-requires-ssl-authentication.html lftp ftp://utilisateur:pass@ftp.serveur.org/Prod/Rapport lftp utilisateur@ftp.serveur.org:/Prod/Rapport> get Fichier.csv get: L'accès a échoué : 534 Policy requires SSL. (Fichier.csv) set ftp:ssl-protect-data true lftp ssmf@91.121.109.131:/Prod/Rapport> get LmkMonthlyExport-20150201.csv 2086953 octets transférés set ftp:ssl-protect-data/ftp.serveur.org true === Pb 2 lftp utilisateur@ftp.serveur.org:/Prod/Rapport> get Fichier.csv get: L'accès a échoué : 534 Protection level negotiation failed. (Fichier.csv) Voir https://access.redhat.com/solutions/336113 Au tout début de la connexion set ftp:ssl-force true set ftp:ssl-protect-data true