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
mkdir -p ~/perso/important
cd ~/perso/important git init
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"
important
:cd /mon/dossier/important
./lanceur.sh
ssh machine0
mkdir -p ~/srv/git/important.git
cd ~/srv/git/important.git/ git init --bare
exit
important
: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"
master
:git push origin master
important
:mkdir /mon/dossier
cd /mon/dossier git clone machine0:srv/git/important.git
important
:cd /mon/dossier/important
./lanceur.sh