LinuxInfo
Dezoom

Synchronisation site local - site distant - lftp

Dernière mise à jour : Debian 9.5

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

1 - Installation de lftp

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

# apt install lftp

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 papy-tux@legtux.org:~> history
lftp papy-tux@legtux.org:/> lcd
lcd ok, cwd local=/home/philippe
lftp papy-tux@legtux.org:/> get doc1009/index.php
794 octets transférés
lftp papy-tux@legtux.org:/> get doc1009/index.php -o /home/philippe/test
794 octets transférés en 2 secondes (486 B/s)
lftp papy-tux@legtux.org:/> put Soft/linoux/linoux/doc1210/doc1210-busybox
lftp papy-tux@legtux.org:/> 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 papy-tux@legtux.org:~> set -a |grep verify-certificate
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 :