pour cause de securitech 2006 (n'oubliez pas la conf ce soir !), je n'ai pas posté mes idées depuis longtemps, ça vous a manqué, hein ? Non ? Tant pis, j'en remet un couche quand même :)
L'idée du vendredi est donc un utilitaire qui sauvegarde automatiquement vos fichiers de conf dans un repository subversion ou cvs ...
Vous pouvez lui dire de surveiller /etc et /home/.* par exemple, rajouter des commentaires, faire des groupes de config, revenir en arrière, voir les différences entre versions, forcer l'enregistrement automatique de tous les changements sur certains fichiers comme /etc/passwd, etc.
Vous pouvez voir qui a fait quoi sur quel fichier, comprendre les changements avec les commentaires, plus de headers de 400 lignes avec chaque changement + date + trigramme ...
Ca permet d'éviter :
- les toto.conf.20060519-revert_dns, toto.conf.20060418-cleaning etc. et le lien de toto.conf sur le dernier en date. Y en a forcément un qu'on loupe ou on modifie en oubliant de changer le lien, etc.
- les tar de /etc avec la date sans savoir ce qu'il y a dedans
- les hurlements quand on vient de s'apercevoir que la nouvelle config foire mais qu'on sait pas laquelle des 200 lignes modifiées et qu'il faut absolument remettre en état pour les prochaines 13 secondes
Exemple :
$pySVNconf commit
files changed :
N° file Elapsed time
1 /etc/passwd 1h13m
2 /etc/bind/db.fr 3m
3 /etc/bind/db-r.fr 4m
4 /tmp/frigo 2d
5 /etc/totoro.conf 11m
file(s) ? 1, 2, 5
comment ? J'ai fait une modif parceque je le vaut bien
Pour "file(s) ?", on peut rajouter des raccourcis comme :
/etc/bind/* = tous les fichiers modifiés qui commencent par 2 et 3
* = tout ou entrée direct = tout
* -5 = tout sauf le 5
* <1h = tous les fichiers modifiés dans il y a moins d'une heure
Ca existe déjà ? C'est complètement con ? J'ai qu'à m'organiser avec mes disquettes ?
Après bien sur, il faut que la "base" de modifs soit facile à sauvegarder, restaurer, comment faire si on sauvegarde à plusieurs en même temps (héhé SVN sait gérer ça), comment chosir les bons fichiers, comment grouper avec un fichier déjà commit, etc.
# rdiff-backup
Posté par Serge2 . Évalué à 5.
En cas de problème, je peux revenir à la version de la veille
Avant de lancer le backup mon script exécute un dpkg --get-selections > /etc/liste_deb
En cas de gros crash: install de base, dpkg --set-selections, restauration de /etc et "normalement" ça roule.
# cfengine
Posté par Prosper . Évalué à 1.
# Ca existe déjà
Posté par niol (site web personnel) . Évalué à 4.
~ sous SVN :
http://www.onlamp.com/pub/a/onlamp/2005/01/06/svn_homedir.ht(...)
http://toykeeper.net/tutorials/svnhome
organisation avec des liens symboliques :
http://www.debian-administration.org/users/Steve/weblog/102
Ca a le mérite en plus de le synchronisation entre plusieurs machines, au prix de faire attention à avoir des fichiers de confs modulaires (par ex, tailler par défaut du gnome terminal différente sur le portable et sur le 21 pouces du bureau)
Attention aussi à séparer les fichiers privés, surtout dans le cas du ~ (par exemple les clé privées ssh, etc).
# Rsync
Posté par Arnaud Da Costa . Évalué à 1.
- un repertoire mirroir exact ;
- un repertoire par jour avec les fichiers effacés/modifiés par rapport à l'ancienne sauvegarde.
Un petit bout d'exemple
# la difficulté
Posté par tinodeleste . Évalué à 5.
l'autre problème est de faire en sorte que les fichiers qui doivent vraiment rester cacher le restent...
j'avais vu une astuce sur les listes debian pour faire ca en svk (traduction approchée inline)
# Install svk
apt-get install svk
# Initialize a depot in /root/.svk --
# Initialisation du dépôt.
svk depotmap --init
# Import /etc making it a working copy.
# Importer /etc et en faire un répertoire de travail
svk import --to-checkout //etc /etc
# Make your depot not that readable
# Le monde ne doit pas pouvoir tout lire.
chmod -R go-rwx ~/.svk
# Remove volatile files from revision control
# Ne pas suivre les fichiers qui changent tout le temps.
cd /etc
svk rm -K adjtime ld.so.cache
...and voilà, you have /etc/ under revision control, without CVS or .svn
or {arch} files around. The syntax of svk is just like the syntax of
svn, of which it's a distributed extension.
L'avantage, c'est qu'apparemment, ca marche comme svn, sans mettre de fichiers de contrôle dans la vraie arborescence /etc.
Je n'ai pas testé.
# FSVS
Posté par David Anderson . Évalué à 2.
http://fsvs.tigris.org/
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.