Rsync/ftp

De bricosoft
Aller à la navigation Aller à la recherche
<google uid="C06" position="left"></google>

rsync et ftp est le plus souvent une sauvegarde d'un compte ftp via rsync.

Dans cet exemple une racine FTP et ses sous-dossiers sont montés en local dans un dossier temporaire. Puis le tout est synchronisé vers un dossier cible final (notre sauvegarde).

On va tout d'abord monter le ftp distant grâce à curlftpfs puis faire un rsync de cette arborescence vers notre lieu de sauvegarde.

Creer un dossier pour y monter la racine du ftp :

$ sudo mkdir -p /mnt/ftpperso

Il vous faudra curlftpfs.

$ sudo apt-get install curlftpfs

Montage du ftp distant :

$ sudo curlftpfs -o allow_other ftp://root:god@ftpperso.free.fr /mnt/ftpperso
  • -o allow_other : permet aux autres utilisateurs de monter ce ftp. Par défaut c'est (et seulement) l'utilisateur qui le monte qui y a accès (même pas le root).
Image logo indiquant une information importante Attention : les fichiers et dossiers distants sont *montés* en local, un rm -rf /mnt/ftpperso effacera aussi le contenu à distance, je l'ai déjà fait comme une grosse buse :(
Fichier:GoodJob.gif

Créer un endroit où stocker ton ftp en local :

$ mkdir -p ~/ftpperso/wikileaks-cables

On sauvegarde via rsync :

$ rsync -rzvvv --inplace --append --progress --stats --timeout=7200 /mnt/ftpperso/ ~/ftpperso/wikileaks-cables
sending incremental file list
[sender] make_file(.,*,0)
[sender] make_file(.htaccess,*,2)
...
  • --inplace : met-à-jour sans faire de copie temporaire
  • --append : ajoute les données à la fin du fichier, le début doit donc être le même de chaque coté. Si la taille de la destination est supérieure ou égale le fichier n'est pas transféré.

Démonter le site distant(sans tournevis ni clé-à-molette, ok->[]) :

$ sudo umount ftpperso

Si toute cette procédure est à refaire souvent ajoutez dans /etc/fstab une entrée :

curlftpfs#root:god@ftpperso.free.fr /mnt/ftpperso/ fuse allow_other,rw,user,noauto 0 0

1337 5y54dm33N

En une seule ligne de commande (wooohooo!!!) :

$ mkdir ~/pentagon-mountpoint && curlftpfs ftp://root:god@pentagon.gov ~/pentagon-mountpoint && rsync -av ~/pentagon-mountpoint ~/fr3sh && umount ~/pentagon-mountpoint
wooohooo!!!

Liens