Configs-Backups

De BlaxWiki
Révision datée du 3 mars 2009 à 11:34 par 212.43.232.68 (discussion) (Page créée avec « '''Script Configs-Backups''' Il s'agit d'un petit script perl ayant pour but de backuper les fichiers de conf de chaque machine client vers un repository global (serveur). ... »)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigationAller à la recherche

Script Configs-Backups

Il s'agit d'un petit script perl ayant pour but de backuper les fichiers de conf de chaque machine client vers un repository global (serveur).

Installation

  • ((Configs-Backups/Installation|Installation du serveur Configs-Backups))

Fonctionnement

- chaque soir (vers 22h-23h), les machines clients lancent le script /usr/local/Claranet/Configs-Backups/backups.pl (lancé en root, depuis la crontab).

Ce script effectue une connexion rsync+ssh vers une ou plusieurs machines (serveurs) cibles (actuellement Tardenois).

L'user ssh distant (sur Flandre...) est : clarabck

Chaque machine client possède une clé ssh spécifique (dans /usr/local/Claranet/Configs-Backups/*.key*) Sur Tardenois le fichier ~clarabck/.ssh/authorized_keys contient la liste des clés publiques des machines, ce qui leur permet de se connecter. De plus la seule commande executable à l'aide des clés en question est le démarrage d'un serveur rsync.

Sur Tardenois, les fichiers de config sont backupés dans ~clarabck/nom_machine/Files Les versions précédentes des fichiers backupés sont sauvegardés dans ~clarabck/nom_machine/Files/Old-Versions (une version par jour maximum, l'extension YYYY.MM.DD étant utilisée pour différencier les anciennes versions)

  • Installation

La sauvegarde quotidienne de chaque machine est très rapide (peu de fichiers sont sauvegardés). Pour éviter que les backups aient lieux tous en meme sur Tardenois, chaque machine client lance son rsync à une heure différente (la 1ere à 22:01, la seconde à 22:02, etc). Le fichier texte ~clarabck/Schedule (sur Flandre) contient une liste (faite manuellement) des heures de chaque lancement de rsync. Ne pas oublier de le mettre à jour en cas d'installation de nouvelle machine

  • Sur une machine client

wget http://svn.fr.clara.net/files/Configs-Backups/sc.pl (ou fetch http://svn.fr.clara.net/files/Configs-Backups/sc.pl sur un bsd)

perl ./sc.pl <nom_machine>

( par exemple sur drome: perl sc.pl drome )

copier la ligne contenant la clé publique telle qu'indiquée par le script sc.pl

rm -fv ./sc.pl (normalement le script s'efface tout seul)

Le fichier de conf est /usr/local/Claranet/Configs-Backups/backups.conf

Sur un BSD ce fichier contient d'origine un certain nombre de paths à backuper. Sur un linux par contre, aucun paths n'est backupé par défaut. Dans tous les cas ne pas oublier de modifier le fichier pour l'adapter à la machine client.

  • Sur le serveur (Tardenois)

su root cd ~clarabck ./Setup-Backupdir.sh drome 212.43.194.36

Le script Setup-Server ouvre un vim ~clarabck/.ssh/authorized_keys, et on doit remplacer la derniere ligne du fichier par la ligne copiée sur la machine client. L'adresse IP indiquée doit etre l'ip principale de la machine client - les rsync seront restreints à cette ip sur Flandre, par mesure de sécurité.

Ensuite lancer une 1ere fois le script de backup sur la machine client :

/usr/local/Claranet/Configs-Backups/backups.pl

(nécessaire car la 1ere execution demande de confirmer la hostkey de Flandre, ce qui nécessite une interactivité)

Ensuite, toujours sur la machine client, on peut modifier la crontab pour activer le backup automatique. Une ligne en commentaire à été rajoutée par le script sc.pl, à la fin du fichier crontab. Remplacer <MINUTE> par la minute choisie, en fonction du fichier Schedule sur Flandre (ne pas oublier de mettre ce fichier à jour d'ailleurs...), et décommenter la ligne.