diff options
Diffstat (limited to 'content/Informatique/2009-10-18-backup.rst')
-rw-r--r-- | content/Informatique/2009-10-18-backup.rst | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/content/Informatique/2009-10-18-backup.rst b/content/Informatique/2009-10-18-backup.rst new file mode 100644 index 0000000..957a42d --- /dev/null +++ b/content/Informatique/2009-10-18-backup.rst @@ -0,0 +1,81 @@ +.. -*- mode: rst -*- +.. -*- coding: utf-8 -*- + +Un système de backup automatique +################################ + +:date: 2009-10-18 +:tags: Libre, Administration +:summary: |summary| + +.. |summary| replace:: + On le sait tous, il faut faire des sauvegardes de manière régulière. On le + sait également, pour que celles-ci se fassent sur le long terme, il faut + que celles-ci se fassent de manière automatique, et sur un autre support + que le PC que l'on souhaite sauvegarder. Le problème qui se pose est le + suivant : comment concilier ces deux conditions sur un PC de bureau (ne + disposant donc pas d'une série de serveur allumés en permanences et prêt à + recevoir nos sauvegardes en continu…) ? + +|summary| + +Pour répondre à tout cela, nous allons mettre en place un système de backup sur +disque dur externe, qui se lancera à chaque fois que notre disque sera monté. À +chaque fois que le disque dur sera allumé, la sauvegarde s'enclenchera. Cela ne +garantit pas, bien sûr que les sauvegardes se feront à un intervalle régulier, +mais cela garantit au moins que nous n'aurons pas à nous en soucier. Pour cela +nous allons utiliser les outils qui sont disponibles sous un environnement +Linux : rsync et hal. Cet article nous présente une base pour faire notre +sauvegarde `Une sauvegarde améliorée avec rsync +<http://informatique-et-liberte.tuxfamily.org/2009/05/10/une-sauvegarde-amelioree-avec-rsync/>`_. +Nous allons juste devoir le modifier un petit peu pour répondre à un problème +qui arrive souvent avec les périphériques USB : selon que d'autres +périphériques sont déjà montés ou non, nous ne savons pas dans quel répertoire +nous allons nous trouve. Il va donc falloir mettre en place une ligne pour +récupérer le répertoire dans lequel nous sommes. Il ne nous reste plus qu'à +trouver le moyen de l'éxécuter automatiquement pour cela nous allons utiliser +halevt. Le script est disponible `ici +<http://chimrod.com/downloads/backup.sh>`_ + +Comme son nom l'indique, halevt est un gestionnaire d'évènements pour hal. Hal +est un gestionnaire d'évènement matériel sous Linux; il envoie des informations +à chaque fois que des informations sont envoyées depuis les composants. Cela +permet de détecter le branchement d'un périphérique USB et de le monter sur le +bureau (et qui nous simplifie grandement la vie aujourd'hui !!!). Halevt est +un démon à l'écoute des informations qui nous sont envoyées par hal, et +d'activer des actions en conséquence : par exemple pour lancer l'antivirus sur +la clef usb, reconfigurer le mappage du clavier en fonction de la marque que +l'on branche etc. Pour notre part, nous allons nous contenter de lancer un +script (celui du backup mentionné plus haut). + +Pour commencer nous allons devoir identifier le lecteur à mettre sous +surveillance : inutile de se baser sur les noms de montage habituels (/dev/sda +par exemple) en effet en fonction des périphériques déjà branchés nous +n'allons pas obtenir la même configuration. Nous allons utiliser les point de +montage défini dans /dev/disk/by-uuid qui permet d'obtenir l'identifiant +de notre disque (et qui sera repris par la suite dans la configuration de hal +). Une fois que nous avons relevé quel est le disque concerné, il faut mettre +en place une entrée pour notre évènement dans la configuration de halevt : + +:: + + <halevt:Device match="hal.block.device & hal.block.is_volume = true & hal.volume.uuid = fd20536f-7b80-4a80-8c3d-b5bebe8fb484"> + <halevt:Property name="hal.volume.is_mounted"> + <halevt:Action value="true" exec="bash $hal.volume.mount_point$/chemin/script/backup-ssh.sh"/> + </halevt:Property> + </halevt:Device> + +Cela si halevt est exécuté avec les droits de l'utilisateur lançant le +backup. Si on le fait tourner en démon, il faut trouver une autre +solution (sur mon poste j'ai utilisé sudo, mais on peut très bien se +baser sur le sticky bit pour donner les droits au script). De même, +dans la configuration mise en place, le script se trouve sur le disque +de stockage (de manière à pouvoir le lancer à la main si le démon n'est +pas disponible), cela peut être adapté en fonction de chacun… + +Dans le cas d'une configuration multi-utilisateur, je pense qu'il est +nécessaire de passer par un script qui lance les différentes sauvegardes sous +le bon groupe de l'utilisateur à chaque fois. (Ce qui en plus permet d'éviter +le problème du sudo) mais je n'ai pas eu besoin d'aller jusque-là pour +l'instant ! À vous d'adapter ce que je vous propose en fonction de votre +configuration ! |