Sauvegarder un FTP avec lftp

Mon problème : trouver un moyen pratique de sauvegarder un serveur FTP, donc typiquement une ligne de commande que je pourrai faire tourner régulièrement en cron ou manuellement
Ma solution : lftp

lftp est un client FTP libre (licence GPL) qui propose des fonctionnalités très avancées dont l'une de mirroring qui va nous intéresser ici. Sous Debian un petit apt-get install lftp est suffisant pour installer la bête.

Imaginons que je désire :

  • me connecter au serveur ftp.monsite.fr ;
  • avec mon compte djib ;
  • et sauvegarder tout le répertoire /www distant (sous-répertoires inclus) vers /backups/monsite en local.

La commande à lancer est

lftp -u djib -e "mirror -en --verbose /www /backups/monsite/; exit" ftp.monsite.fr

  • -u précise le nom de l'utilisateur
  • -e indique la commande distante à exécuter

En option à mirror j'ai ajouté :

  • -e qui supprime les fichiers locaux qui n'existent plus sur le serveur distant ;
  • -n qui ne transfère que les fichiers plus récents sur le serveur qu'en local (en gros une sauvegarde différentielle) ;
  • --verbose qui affiche les fichiers en cours de transfert.

Si vous voulez que le mot de passe se renseigne automatiquement, vous pouvez le mettre juste après le nom d'utilisateur (lftp -u djib,password …) ou dans un fichier externe.

Voilà, n'hésitez pas à vous plonger dans le manuel de lftp qui sera bien plus complet que ce petit guide pratique.

Vus : 2976
Publié par djibux : 113