Notes client FTP lftp

Voir aussi :

rclone

https://en.wikipedia.org/wiki/NcFTP

curl

~/.netrc

/usr/kerberos/bin/ftp (paquet krb5-workstation)

far2l

wget (download)

wget --ftp-user=FTP_USERNAME --ftp-password='FTP_PASSWORD' ftp://URL/PATH_TO_FTP_DIRECTORY/* wget ftp://paul:123@serveur.org/fichier

curl

Download / Télécharger

curl -u utilisateur:motdepasse ftp://ftp.example.com/fichier.txt -O

Upload / Téléverser

curl -T monfichier.txt -u utilisateur:motdepasse ftp://ftp.example.com/

lftp

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

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

~/.lftp/rc

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

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)

Paquet RPM lftp-scripts.noarch :

/usr/share/lftp/convert-mozilla-cookies

/usr/share/lftp/import-ncftp

/usr/share/lftp/import-netscape

/usr/share/lftp/verify-file

/usr/share/lftp/xdg-move