Client FTP : lftp

Lftp est un client FTP permettant facilement en ligne de commande de faire des transferts de fichiers (par exemple pour mettre à jour votre site Internet modifié localement ou pour faire une sauvegarde sur votre ordinateur).

En installant le paquet lftp via synaptic ou directement en cliquant sur lftp

Pour mettre à jour votre site Internet à partir de votre site en local, il faut utiliser la commande suivante :

lftp ftp://identifiant:mot_de_passe@site_de_connexion -e "mirror -e -R -x dossier_ignoré -x dossier_ignoré /emplacement_local /emplacement_distant ; quit"

Cette commande ne transfère dans l'emplacement distant que les fichiers modifiés dans l'emplacement local et les nouveaux fichiers et efface dans l'emplacement distant les fichiers qui n'existent plus en local. Voici une description sommaire des éléments de la commande :

  • Le -e commande à lftp d'exécuter ce qui est entre guillemets.
  • Le mirror crée une copie exacte.
  • Le -e de mirror efface les fichiers qui n'existent plus.
  • Le -R signifie que le transfert se fait de l'emplacement local à l'emplacement distant.
  • Le -x désigne les dossiers qu'il ne faut pas prendre en compte dans le transfert. On met autant de -x dossier_ignoré qu'il y a d'emplacements à ignorer. S'il n'y en a pas, on ne met tout simplement pas de -x. NOTE : Le chemin indiqué pour les dossiers à ignorer dépend du dossier local déclaré.
  • Le quit coupe la connexion après le transfert.

Voici un exemple pour aider à comprendre la commande :

lftp ftp://moi:motdepasse@ftp.perso.com -e "mirror -e -R -x gestion/exemples/ -x documents/multimedia/musique/ /var/www/mon_site/ / ; quit"

Dans cet exemple, l'identifiant moi se connecte avec le mot de passe motdepasse au site ftp.perso.com pour transférer ce qui est dans /var/www/mon_site/ (l'emplacement local) dans l'emplacement distant / (la racine de l'emplacement distant), et ce en ignorant tout ce qu'il y a dans les dossiers locaux /var/www/mon_site/gestion/exemples/ et /var/www/mon_site/documents/multimedia/musique/.

Lorsqu'on souhaite juste mettre un fichier sur le serveur distant, c'est la fonction put qu'il faut utiliser :
lftp ftp://identifiant:mot_de_passe@site_de_connexion -e "put -O /repertoire/fichier/distant/ /chemin/local/du/fichier; quit"
Si l'on souhaite rapatrier un fichier, c'est la fonction get : \\ lftp ftp://identifiant:mot_de_passe@site_de_connexion -e "get /repertoire/fichier/distant/ -o /chemin/local/du/fichier; quit"

Pour faire une sauvegarde sur votre ordinateur de votre site Internet, il faut utiliser la commande suivante :

lftp ftp://identifiant:mot_de_passe@site_de_connexion -e "mirror -e -x dossier_ignoré -x dossier_ignoré /emplacement_distant /emplacement_local ; quit"

Cette commande ne transfère sur l'ordinateur que les fichiers modifiés dans l'emplacement distant et les nouveaux fichiers et efface sur l'ordinateur les fichiers qui n'existent plus dans l'emplacement distant. Voici une description sommaire des éléments de la commande :

  • Le -e commande à lftp d'exécuter ce qui est entre guillemets.
  • Le mirror crée une copie exacte.
  • Le -e de mirror efface les fichiers qui n'existent plus.
  • Le -x désigne les dossiers qu'il ne faut pas prendre en compte dans le transfert. On met autant de -x dossier_ignoré qu'il y a d'emplacements à ignorer. S'il n'y en a pas, on ne met tout simplement pas de -x. NOTE : Le chemin indiqué pour les dossiers à ignorer dépend du dossier distant déclaré.
  • Le quit coupe la connexion après le transfert.

Voici un exemple pour aider à comprendre la commande :

lftp ftp://moi:motdepasse@ftp.perso.com -e "mirror -e -x public/ -x documents/perso/textes/ /html/ /var/www/mon_site/ ; quit"

Dans cet exemple, l'identifiant moi se connecte avec le mot de passe motdepasse au site ftp.perso.com pour transférer ce qui est dans /html/ (de l'emplacement distant) dans l'emplacement local /var/www/mon_site/, et ce en ignorant tout ce qu'il y a dans les dossiers distants /html/public/ et /html/documents/perso/textes/.

Pour ne pas avoir à taper la commande à chaque fois que vous en avez besoin ou avoir à la chercher dans l'historique de la console, vous pouvez la remplacer par un alias. Pour ce faire, il faut ouvrir le fichier /home/utilisateur/.bashrc, ce qui donne en ligne de commande :

gedit /home/utilisateur/.bashrc

Il faut ensuite écrire ceci à la fin du fichier :

alias nom_voulu_pour_la_commande='commande'

Cela peut donner par exemple :

alias maj_site='lftp ftp://moi:motdepasse@ftp.perso.com -e "mirror -e -R -x gestion/exemples/ -x documents/multimedia/musique/ /var/www/mon_site/ / ; quit"'

Vous enregistrez le fichier et vous ouvrez la console. En tapant maj_site, vous démarrez la commande lftp.

Par exemple, pour sauvegarder votre site régulièrement, faites un script et utilisez cron ou fcron.

  • lftp.txt
  • Dernière modification: Le 11/07/2017, 08:35
  • (modification externe)