LFTP c’est comme FTP, mais en mieux.
# apt-get install lftp
Se connecter au serveur ftp :
$ lftp -u username,password -p portnumber x.x.x.x -e 'cd httpdocs'
username = nom de l’utilisateur du compte ftp
password = mot de passe de l’utilisateur ftp
x.x.x.x = adresse ip du serveur
portnumber = numéro du port utilisé
-e = lancer une commande une fois connecté.
Télécharger récursivement, tous les fichiers d’un répertoire :
lftp ~> mirror -c /repertoire_serveur
-c = continue en cas de coupure
Pousser récursivement, tous les fichiers d’un répertoire local sur le serveur :
lftp ~> mirror -R -c /repertoire_local
Quelques options :
Permet d’écraser les fichiers si il existe des fichiers plus récents :
lftp ~> set xfer:clobber on
Ne pas vérifier le certificat du serveur :
(En cas d’erreur : Fatal error: Host key verification failed
)
Faire :
lftp ~> set sftp:auto-confirm yes
ou
(En cas d’erreur : Fatal error: Certificate verification: subjectAltName does not match...
)
Faire :
lftp ~> set ssl:verify-certificate no
Afficher les fichiers cachés :
lftp ~> set ftp:list-options -a
Afficher toutes les options en cours :
lftp ~> set -a
Obtenir de l’aide sur une commande :
lftp ~> help <commande>
Efface récursivement tous les fichiers qui ont le même MOTIF :
Script à exécuter sur l’ordinateur local
#!/bin/bash
server="-u ftp_username,ftp_password -p portnumber xxx.xxx.xxx.xxx"
work_folder="httpdocs/wp-content/uploads"
motif="motif a chercher"
{
{
lftp ${server} << EOF
find ${root_folder} | grep ${motif}
quit
EOF
} | awk '{ printf "rm \"%s\"\n", $0 }'
} | lftp ${server}
# (Commenter le dernier pipe pour obtenir une simulation du résultat)
SFTP :
$ lftp sftp://<LOGIN>@<ADRESSE IP>:<PORT>