Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 24/05/2017, à 11:03

marseillois

Sauvegarde incrémentale à distance avec rsync

Bonjour à tous, et merci d’avance pour l’aide que vous pourrez m’apporter

Mon projet : écrire un script de sauvegarde incrémentale à distance avec rsync

Ma démarche : au préalable une lecture sérieuse de la documentation Ubuntu et d’autres sur le sujet , à la suite de quoi je décide de commencer par une sauvegarde de mes essais dans un répertoire de mon Disque Dur interne pour comprendre la logique du processus

J’écris ce script qui est totalement fonctionnel :

 #!/bin/sh

# Ceci pour essayer un script permettant de travailler avec l'argument --link-dest permet de ne sauvegarder que les fichiers nouveaux ou modifiés 

# La procédure proposée compare la dernière sauvegarde réalisée (backup.0) à la précédente (backup.1)

# Définition de la variable Date
DATESAUV=`date +%Y-%m-%d--%H-%M-%S`

# Définition de la variable Source
SOURCE=~/EssaiRsync/2017-2/

# Définition de la Variable Destination
DEST=~/EssaiRsync/Sauvegardes/SauvIncr

# Déplacement des informations existantes
rm -Rf $DEST/backup2
mv $DEST/backup1 $DEST/backup2
mv $DEST/backup0 $DEST/backup1

rsync -au --delete-after --progress --backup --backup-dir=$DEST/SAUVModDel/${DATESAUV} --safe-links --link-dest=$DEST/backup1 $SOURCE $DEST/backup0/  

A partir de là j’essaie de l’adapter à une utilisation à distance avec ssh :

#!/bin/sh

# Ceci pour essayer un script permettant de travailler avec l'argument --link-dest pour ne sauvegarder que les fichiers nouveaux ou modifiés 

# La procédure proposée compare la sauvegarde en cours (backup.0) à la précédente (backup.1)

# Définition de la variable Date (pour créer les répertoires de sauvegarde des fichiers supprimés sur la sauvegarde)
DATESAUV=`date +%Y-%m-%d--%H-%M-%S`

# Définition de la variable Source
SOURCE=~/EssaiRsync/2017-2/

# Définition de la Variable Destination
DEST=gerard@192.168.1.35:/home/gerard/Documents/Essais

# Déplacement préalable des informations existantes (libère backup.0 pour la nouvelle sauvegarde incrémentielle)
rm -Rf $DEST/backup2
mv $DEST/backup1/ $DEST/backup2/
mv $DEST/backup0/ $DEST/backup1/

rsync -aue ssh --delete-after --progress --safe-links --link-dest=$DEST/backup1/ $SOURCE $DEST/backup0/ --backup --backup-dir=~/Documents/Essais/FichSuppr/${DATESAUV

Je lance le script et j’obtiens :

gerard@gerard-SATELLITE-L50-A-1DG:~/Scripts$ EssaiLDTestSSH
mv: impossible d'évaluer 'gerard@192.168.1.35:/home/gerard/Documents/Essais/backup1/': Aucun fichier ou dossier de ce type
mv: impossible d'évaluer 'gerard@192.168.1.35:/home/gerard/Documents/Essais/backup0/': Aucun fichier ou dossier de ce type
building file list ... 
5 files to consider
--link-dest arg does not exist: gerard@192.168.1.35:/home/gerard/Documents/Essais/backup1
Created backup_dir /home/gerard/Documents/Essais/FichSuppr/2017-05-24--11-27-47/
./
20151218_123934.jpg
      2,145,817 100%  403.03MB/s    0:00:00 (xfr#1, to-chk=3/5)
2017-0002.ods
         10,440 100%    1.99MB/s    0:00:00 (xfr#2, to-chk=2/5)
Ajout/
Ajout/EDF201701-1.pdf
          7,918 100%    1.51MB/s    0:00:00 (xfr#3, to-chk=0/5)

Je ne comprends pas les messages d’erreurs mais j’obtiens bien sur mon Serveur une sauvegarde complète ainsi qu’un répertoire FichSuppr avec les sous répertoires nécessaires, vide puisque 1ere sauvegarder

Après quelques ajout & corrections de l’original je relance le script et j’obtiens

gerard@gerard-SATELLITE-L50-A-1DG:~/Scripts$ EssaiLDTestSSH
mv: impossible d'évaluer 'gerard@192.168.1.35:/home/gerard/Documents/Essais/backup1/': Aucun fichier ou dossier de ce type
mv: impossible d'évaluer 'gerard@192.168.1.35:/home/gerard/Documents/Essais/backup0/': Aucun fichier ou dossier de ce type
building file list ... 
5 files to consider
--link-dest arg does not exist: gerard@192.168.1.35:/home/gerard/Documents/Essais/backup1
Created backup_dir /home/gerard/Documents/Essais/FichSuppr/2017-05-24--11-34-20/
./
2017-0002.ods
         10,071 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=2/5)
Ajout2/
Ajout2/EDF201701-1.pdf
          7,918 100%    7.55MB/s    0:00:00 (xfr#2, to-chk=0/5)
deleting Ajout/EDF201701-1.pdf
deleting Ajout/ 

avec toujours les mêmes messages d’erreurs et
backup0 qui contient la nouvelle mouture de l’original, backup1 vide alors qu’il devrait contenir la sauvegarde initiale copiée de backup0 avnt traitement des corrections, et un nouveau répertoire dans fichSuppr avec les fichiers avant corrections ou suppression

Pourtant les répertoires backup0, 1 & 2 existent et je suis titulaire des bonnes permissions :

gerard@gerard-SATELLITE-L50-A-1DG:~/Scripts$ ssh gerard@192.168.1.35
Welcome to Ubuntu 16.04.2 LTS (GNU/Linux 4.8.0-52-generic i686)Sauvegarde incrémentale avec rsync
 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/advantage

6 packages can be updated.
0 updates are security updates.

Last login: Wed May 24 11:07:17 2017 from 192.168.1.97
gerard@gerard-SATELLITE-L755:~$ cd Documents/Essais
gerard@gerard-SATELLITE-L755:~/Documents/Essais$ ls -l
total 16
drwxrwxr-x 3 gerard gerard 4096 mai   24 11:33 backup0
drwxrwxr-x 2 gerard gerard 4096 mai   20 12:00 backup1
drwxrwxr-x 2 gerard gerard 4096 mai   20 12:00 backup2
drwxrwxr-x 4 gerard gerard 4096 mai   24 11:34 FichSuppr
gerard@gerard-SATELLITE-L755:~/Documents/Essais$ 

Toute idée, suggestion ou conseil me seront utiles

Merci d'avance

Hors ligne

#2 Le 24/05/2017, à 12:58

αjet

Re : Sauvegarde incrémentale à distance avec rsync

Le problème vient du fait que tu n'utilises pas le protocole ssh pour les commandes rm et mv, d'ailleurs je ne comprends pas que tu n'ais pas de retour d'erreur pour rm.

pour déplacer des fichiers sur un serveur distant, la syntaxe est :

ssh user@host mv /source/folder /dest/folder

Pour rm

ssh user@host 'rm /file/to/delete'

Je pense que tu devrais changer un peu tes variables initiales pour pouvoir paramétrer correctement ces lignes de commande.

Dernière modification par αjet (Le 24/05/2017, à 12:59)


αjet: ça se prononce alfajet, bordel ! | GMT+1 | Viens poueter avec moi, bordel ! | Mes photos | Shaarli | Fluidbuntu-fr

Hors ligne