Ceci est une ancienne révision du document !



Grsync

Grsync est une interface graphique simple utilisant GTK2 pour la commande rsync. C'est donc un logiciel qui permet d'effectuer facilement des synchronisations / sauvegardes (backup) de répertoires sur des périphériques externes ou distants. Il est publié sous licence libre GNU GPL.

Interface graphique de Grsync sous Ubuntu 12.04

Installez le paquet grsync (le dépôt Universe doit être activé, ce qui est normalement le cas par défaut).

  • avoir installé grsync (pour cela il suffit d'installer le paquet grsync)
  • Disposer d'un support de sauvegarde (partition, disque dur externe, clé USB suffisamment grosse) au format ext3 ou ext4, car le NTFS ou le FAT32 (formats habituels des supports USB vendus dans le commerce) ne conservent pas toutes les propriétés des fichiers. Il faudra donc sans doute reformater votre support USB. Cocher la case "compatibilité avec Windows" vous permet normalement d'utiliser un support formaté en FAT ou NTFS.

Grsync sauvegarde / synchronise un seul répertoire (et ses sous-répertoires) par sauvegarde.

On peut cependant définir plusieurs sauvegardes (une par répertoire). On devra ensuite lancer les sauvegardes / synchro une par une.

Il existe une option de Grsync qui permet de lancer plusieurs sauvegardes précédemment définies en une seule action.

Lancer Grsync (disponible dans le menu des applications Ubuntu).

Dans le menu « session », cliquez sur « Ajouter », puis « entrer le nom de la nouvelle session ». Par exemple « sauvegarde répertoire Documents ».

Dans « Source et destination » :

  • la première ligne correspond à la source, c'est-à-dire au répertoire à sauvegarder / synchroniser. Indiquez dans cette ligne votre répertoire, par exemple /home/vous/Documents ;
  • la seconde ligne correspond à la destination, c'est-à-dire à l'endroit où sera copiée la sauvegarde. La ligne sera du type : /media/nom_du_support_de_sauvegarde/mes-sauvegardes/ (/media/ indique que vous accéder à une autre partition ou disque, mais c'est pas une obligation). Si la partition de destination est différente, elle doit être montée pour que la sauvegarde fonctionne.

Dans les 2 cas, on peut utiliser le bouton « Ouvrir» pour chercher graphiquement le répertoire d'origine ou de destination.

Pour définir les options de sauvegarde, vous pouvez conserver les options de base, qui sont les suivantes (vous pouvez changer ces options, SI vous savez ce que vous faites) :

Grsync 1.2.6 : Paramétrage d'une synchro

L'option "Effacer sur la destination" n'est pas cochée par défaut, mais c'est sans doute la plus intéressante des options additionnelles : cochée, elle efface automatiquement sur le répertoire cible tous les fichiers qui ne sont pas (ou ne sont plus) dans votre répertoire source.

  • Inconvénient : un répertoire ou un fichier effacé par erreur sur la source disparaîtra aussi de la sauvegarde.
  • Avantage : votre synchronisation sera parfaite.

Cette option transforme donc le sens de Grsync : il faut la cocher si on veut une synchronisation, mais la décocher si on préfère une sauvegarde de sécurité. Si l'espace de destination est assez grand, on peut d'ailleurs avoir 2 sauvegardes en parallèle dont seule cette option diffère, afin d'avoir à la fois une sauvegarde à l'identique et une préservation des anciens fichiers supprimés.

Dans l'onglet options avancées on peut conserver les options par défaut, mais on peut aussi valablement ajouter :

  • Préserver les périphériques
  • Comprimer les données (seulement pendant le transfert, pas sur disque). Accélère les transferts si le volume des données est important par rapport au débit de la ligne, mais est inutile sinon.

L'onglet Autres options permet de lancer des commandes ou des scripts avant ou après la synchro. Par exemple vider la poubelle avant de synchroniser tout le /home peut être utile (rm -rv ~/.local/share/Trash/* ).

A noter qu'il n'y a aucune configuration à sauvegarder : toutes les modifications que vous apportez à votre paramétrage sont inscrites en temps réel dans les paramètres de la sauvegarde.

Enfin cliquez sur le bouton "Synchroniser" pour démarrer la sauvegarde. Pour chaque mise à jour de la sauvegarde, il faudra appeler le nom de celle que vous voulez lancer (via la liste déroulante en haut de fenêtre), et relancer la synchro. Vous pouvez paramétrer autant de sauvegardes que vous le souhaitez.

Lancez l'application et choisissez la sauvegarde à lancer.

Il est possible et conseillé lors d'un premier test de sauvegarde d'effectuer une simulation (bouton « Simuler »), pour observer ce que ferait Grsync avec les options choisies. Vous pouvez également faire des tests en créant un répertoire source (par exemple : source_test) et un répertoire de destination (destination_test) sur votre machine, dans le répertoire de test source vous pouvez coller différents fichiers et dossiers, puis vérifier que Grsync a bien produit le résultat attendu dans le répertoire destination de test.

Pour réaliser la sauvegarde, il faut cliquer sur le bouton « Synchroniser » (le plus à droite des boutons de l'interface), ou dans le Menu Fichier, choisir exécuter.

Simulation et apprentissage rsync

Avant une nouvelle sauvegarde, il est intéressant de lancer une simulation (icône entourée en rouge). Aucune sauvegarde n'est faite, mais un message d'erreur peut être signalé.

Bouton de lancement de la simulation

De plus, la commande rsync générée est affichée, ce qui permet d'apprendre la syntaxe de la commande, ou de la réutiliser dans anacron (voir le chapitre sur l'automatisation, plus bas).

Affichage du résultat de la simulation et de la commande rsync.

Sauvegardes multiples

On peut créer une session de sauvegarde qui regroupe plusieurs sauvegardes / synchro. Pour ce faire, il faut créer une sauvegarde de groupe (menu session > ajouter) en cochant la case "ajouter comme ensemble de sessions". Créer un lancement groupé pour plusieurs sauvegardes

La liste des sessions de sauvegardes existantes apparaît, et il reste juste à cocher celles qu'on souhaite regrouper pour un lancement unique. Ensuite on peut lancer la synchro.

Créer un lancement groupé pour plusieurs sauvegardes

Le lancement de la session de groupe se fait de la même manière que pour tout lancement de session : d'abord se placer dans la session (à laquelle on accède par la liste déroulante des sessions), puis

  • cliquer sur le bouton Synchroniser (en haut à droite - voir copie écran ci-dessus),
  • ou fichier > exécuter
  • ou au terminal grsync -e nom-sauvegarde (l'option -e ferme automatiquement Grsync après la synchro, quand l'option -s conserve Grsync ouvert).

Ci-dessous le choix de la session à lancer (cette liste apparaît après avoir cliqué dans la liste déroulante en haut de l'écran) :

Choix session à lancer

On peut aussi lancer un groupe de sauvegardes en faisant un script au terminal :

Par exemple grsync -e mozilla && grsync -e thunderbird && grsync -e documents && grsync -e images lance 4 sauvegardes par leur nom, l'une après l'autre (bien sur, il a fallut paramétrer chacune de ces sauvegardes auparavant).

Le lien entre nom de la sauvegarde et répertoire sauvegardé n'a rien d'obligatoire, mais il est pratique. Ici, le nom des sauvegardes indique les répertoires à sauver : firefox, thunderbird, Documents et Images.

On peut automatiser ce script dans un fichier bash, ou plus simplement dans un alias du fichier .bashrc (ce qui crée une pseudo commande). Par exemple un gedit .bashrc au terminal ouvre le fichier caché .bashrc. En-dessous des alias existant (dans la partie alias, donc), on peut ajouter une ligne : alias sync='grsync -e mozilla && grsync -e thunderbird && grsync -e documents && grsync -e images && exit'. Il faut refermer le terminal, puis le rouvrir (ce qui réinitialise le .bashrc). Dès lors, taper sync dans le terminal lancera automatiquement les 4 sauvegardes de l'exemple l'une après l'autre.

Automatisation des sauvegardes

Grsync n'a pas de fonction d'automatisation. Il doit donc être lancé manuellement à chaque sauvegarde.

On peut éventuellement lancer Grsync à chaque démarrage du PC, via les options de démarrages automatiques qui existent dans toutes les versions d'Ubuntu. Dans ce cas une commande de retardement quelques minutes après le démarrage facilite la fluidité de celui-ci. Exemple :

 sleep 300 && grsync -e documents

est une commande qu'on peut saisir dans Xubuntu ("session et démarrage"), ou dans Ubuntu gnome ("Applications > Applications au démarrage"), et qui va attendre 5 minutes après le démarrage (300 secondes), puis lancer la sauvegarde nommée "documents". Attention, le nom de la sauvegarde est sensible à la casse (majuscules / minuscules).

Cron ou anacron (plus adapté à un PC) ne sont pas vraiment utiles, car ils sont lancés par l'utilisateur root, lequel n'affiche pas le résultat à l'écran, et ne connaît pas votre compte utilisateur (ou sont stockés vos paramétrages de sauvegardes). Ils sont bien adaptés par contre pour lancer rsync, la commande derrière grsync.

Pour une telle automatisation, et si vous ne connaissez pas la syntaxe rsync, cliquez sur l'icone "simuler", récupérer la commande rsync générée par Grync : Affichage du résultat de la simulation et de la commande rsync. puis ajoutez la dans anacron. Pour faire simple :

 pkexec gedit /etc/anacrontab

Ajouter à la dernière ligne du fichier votre automatisation, au format

 1	15	sauvegarde	rsync -r -n -t -p -o -g -v --progress --delete -c -l -D -s /home/chris/Documents /mnt/abbd0971-7729-4469-ba03-1558429aa04d/sauvegarde
  • où le 1er chiffre est le nombre de jour entre chaque sauvegarde (ici 1 jour),
  • le second le nombre de minutes entre le démarrage du PC et lancement de la sauvegarde (ici 15 minutes),
  • "sauvegarde" est un nom que vous choisissez vous-même (il est libre),
  • Enfin, la commande rsync reprend simplement l'exemple de la copie écran précédente.

Pour aller plus loin, voyez l'aide anacron.

Synchronisation en continue

Pour avoir un synchro quasi permanente, vous pouvez lancer chaque heure (voir plus rapidement) la synchronisation entre votre source et votre destination. Pour ce faire, le mieux est d'avoir une boucle sans fin qui tourne en résident dans la mémoire, et lance la synchro régulièrement.

Créez un script bash. Par exemple :

 #!/bin/bash
 while :
 do
    sleep 3600 && grsync -e documents
 done
 exit 0

Ce script lance la sauvegarde nommée "documents" toutes les heures. Donnez un nom au script (par exemple synchro.sh), rendez-le exécutable (clic droit > propriétés > permissions > "autorisez le fichier à être exécuté"), lancez-le au démarrage de la session (voir explication plus haut), et il s'exécutera en fonds de tâches, tout le temps et tous les jours.

Rappel : pour une synchro, l'option "effacer sur la destination" est préférable.

sauvegarde de l'ensemble du "/home"

Sauvegarder le répertoire /home (donc tout votre profil et tous vos fichiers) implique simplement d'avoir défini ce répertoire (et donc automatiquement ses sous-répertoires) comme répertoire à sauvegarder. Ce type de sauvegarde n'a rien de techniquement spécifique.

L'avantage de sauvegarder tout le /home en une seule passe est d'éviter de combiner plusieurs sauvegardes (une par répertoire).

L'inconvénient est d'avoir de grosses sauvegardes, dont une partie du contenu peut ne pas vous intéresser.

En toute hypothèse, pensez à vider la poubelle avant la sauvegarde / synchro, sinon vous la sauvegarderez aussi, ce qui peut prendre beaucoup de place (on peut positionner un script d'effacement avant l'exécution de la sauvegarde via l'onglet "autres options" pour automatiser ce vidage : rm -rv ~/.local/share/Trash/* ).

Pour aller plus loin, voir le tutoriel : Sauvegarder "/home" avec Grsync.

Sauvegarde sur un serveur distant

La partie destination doit être remplie sous cette forme : nomutiliateurduserveur@192.168.x.x::nomdumodule

Arrêter l'ordinateur automatiquement après une sauvegarde

Le 3e onglet de Grsync, "Autres options", permet de lancer une commande avant et une commande après rsync. On peut par exemple demander l'arrêt automatique de l'ordinateur après la sauvegarde, ce qui permet de ne pas rester à côté du PC en attendant la fin des synchronisations, ce qui peut-être long pour de gros volumes de données et / ou des débits lents. Commande à utiliser :

telinit 0

Pour désactiver définitivement la demande de mot de passe à l’exécution de chaque telinit 0 (ce qui rendrait en pratique inopérant l'arrêt automatique), vous devez lancer auparavant dans un terminal : sudo chmod +s /sbin/telinit

Grsync 1.2.6 : arrêt du PC après une sauvegarde

Pour ceux qui connaissent déjà la commande rsync, ou qui souhaitent la maîtriser, il peut être intéressant de connaitre les options rsync lancées par l'interface graphique qu'est Grsync.

Pour plus de précisions sur ces options, voir : le manuel de rsync en français

Grsync, sans rien de coché, lance toujours rsync avec l'option "-r" (parcourt le dossier indiqué et tous ses sous-dossiers) Le bouton "Simulation" de Grsync correspond à l'option "-n" de rsync.

Cases à cocher Grsync Options rsync
Conserver la date -t
Conserver les permissions -p
Conserver le propriétaire -o
Conserver les groupes -g
Effacer sur la destination --delete
Informations complémentaires -v
Ignorer les fichiers existants --ignore-existing
Ne pas quitter le système de fichier -x
Montrer la progression --progress
Taille seulement --size-only
Skip newer -u
Windows compatibility --modify-window=NUM
Cases à cocher « options avancées » Grsync options rsync
Toujours faire la somme de contrôle -c
Copier les liens symboliques comme liens symboliques -l
Préserver les périphériques -D
Mettre à jour seulement les fichiers existants --existing
Conserver les fichiers transférés partiellement -P = --partial --progress
Ne pas reproduire les valeurs uid/gid --numeric-ids
Compresser les données(1) -z
Faire une sauvegarde -b

(1) cette option ne compresse pas les données au final, mais les compresse seulement lors du transfert pour que celui-ci soit plus rapide.

Pour supprimer cette application, il suffit de supprimer son paquet. La configuration de l'application sera conservée ou supprimée selon la méthode de désinstallation que vous choisirez.

  • grsync.1562937131.txt.gz
  • Dernière modification: Le 12/07/2019, 15:12
  • par 109.7.55.182