Table des matières

TP : Sauvegarder sa base de données keepassx avec git

Sauvegarder sa base de données keepassx avec git

Supprimer un mot de passe par erreur, casser la base de données en faisant une mauvaise manip, lors du plantage du logiciel, d'un bug de mise à jour, disque dur qui flanche… autant de choses que l'on ne veut pas rencontrer.

Pour s'en protéger, il est possible de stocker son fichier de pass dans un dépôt git.

Nous allons présenter ici deux solutions :

testé par captnfab le 26/04/2013

Version locale

Création du dépôt

mkdir -p ~/perso/important
cd ~/perso/important
git init

Initialisation du dépôt

mv ~/perso/mes_pass.kdb .
git add mes_pass.kdb
git commit -a -m "Base de donnée initiale"
cat << EOF > lanceur.sh
#!/bin/sh
DOSSIER="\$HOME/perso/important/"
BDD="mes_pass.kdb"
cd "\$DOSSIER"
keepassx "./\$BDD"
git commit -a --author="\$USER@\$(hostname)" -m "Mise à jour..."
EOF
chmod +x lanceur.sh
git add lanceur.sh
git commit -a -m "Script de lancement"

Utilisation

cd /mon/dossier/important
./lanceur.sh

Version (dé)centralisée

Création du dépôt

ssh machine0
mkdir -p ~/srv/git/important.git
cd ~/srv/git/important.git/
git init --bare
exit

Initialisation du dépôt

mkdir -p ~/perso/
cd ~/perso/
git clone machine0:srv/git/important.git
cd important
mv ~/perso/mes_pass.kdb .
git add mes_pass.kdb
git commit -a -m "Base de donnée initiale"
cat << EOF > lanceur.sh
#!/bin/sh
BDD="mes_pass.kdb"
git pull
keepassx "./\$BDD"
git commit -a --author="\$USER@\$(hostname)" -m "Mise à jour..."
git push
EOF
chmod +x lanceur.sh
git add lanceur.sh
git commit -a -m "Script de lancement"
git push origin master

Sur les autres machines / sur la clé usb

mkdir /mon/dossier
cd /mon/dossier
git clone machine0:srv/git/important.git

Utilisation

cd /mon/dossier/important
./lanceur.sh
1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !