Connexion et synchronisation de fichiers via ftp et lftp

Mise à jour : Debian 11.1

lftp (linux file transfer protocol) est un client ftp en ligne de commande, utilisable pour synchroniser un site distant et un site local.

Sommaire

1 - Installation de lftp

L'installation s’effectue directement depuis les dépôts :

$ sudo aptitude install lftp

$ lftp --version |head -2
LFTP | Version 4.8.4 | Copyright (c) 1996-2017 Alexander V. Lukyanov

2 - Commandes de base

2.1 - Mode interactif

$ lftp
lftp :~>
lftp :~> open legtux.org
lftp legtux.org:~>
lftp :~> user papy-tux
Mot de passe : xxxxxxxx
lftp papy-tux@legtux.org:~>
$ lftp papy-tux:<mot_de_passe>@legtux.org
lftp papy-tux@legtux.org:~>
(lftp) help
(lftp) history
(lftp) lcd
lcd ok, cwd local=/home/philippe
(lftp) get doc1009/index.html
794 octets transférés
(lftp) get doc1009/index.html -o /home/philippe/test
794 octets transférés en 2 secondes (486 B/s)
(lftp) put Soft/linoux/linoux/doc1210/doc1210-busybox
(lftp) quit

2.2 - Mode script

Le mode script permet d'exécuter une suite de commande lftp sans intervention de l'opérateur. La ligne de commande suivante

$ lftp papy-tux:<Mot_de_Passe_en_clair>@legtux.org -e "debug;ls;quit"

3 - FTPS

lftp prend en charge également le protocole FTPS (FTP over SSL).

    Erreur fatale: Certificate verification: Not trusted

une solution consiste à désactiver la vérification SSL.

$ nano .config/lftp/rc
set
ssl:verify-certificate no
(lftp) set -a |grep ssl
set ssl:verify-certificate no

4 - Mise à jour site

La commande mirror permet de mettre à jour un site distant par rapport à un site local et réciproquement

4.1 - Mise à jour d'un site distant par rapport à un site local

Pour mettre à jour un site distant par rapport à un site local :

$ lftp $USER_NAME:$MDP@$URL -e "mirror -e -R /home/user/chemin_vers_site_local/ / ;quit"

dans lequel

et les options

Cette commande n'agit que sur le site distant :

4.2 - Mise à jour d'un site local par rapport à un site distant

La commande suivante met à jour un site local par rapport à un site distant et permet par exemple d'effectuer une sauvegarde du site distant :

$ lftp $USER_NAME:MDP@$URL -e "mirror -e / /home/user/BU/ ; quit"

Dans cette commande, à nouveau :

Noter dans cette commande, par rapport à la précédente :

4.3 - Lancement des scripts depuis un Bureau

A l'aide d'un éditeur de menu tel que alacarte, créer une entrée desktop pour chaque commande comprenant :

Commande : Exec=exo-open --launch TerminalEmulator lftp ftp://$USER_NAME:$MDP@$URL -e "mirror -e -R /home/user/chemin_vers_site_local/ / ;quit"
Icône : Icon=/usr/share/icons/oxygen/48x48/actions/arrow-up-double.png
Commande : Exec=exo-open --launch TerminalEmulator lftp ftp://$USER_NAME:MDP@$URL -e "mirror -e / /home/user/BU/ ; quit"
Icône : Icon=/usr/share/icons/oxygen/48x48/actions/arrow-down-double.png

Notes :