Table des matières

Sauvegardes automatiques de jeux via git

Introduction

Certains jeux ne proposent pas de sauvegarder/charger les parties, ou ont une interface qui facilite la perte de parties. Git et inotify nous aident à palier à ce problème.

Installation

apt install git inotify-tools

Utilisation

Première utilisation

Lors de la première utilisation, vous devez initialiser le dépôt git du dossier contenant les sauvegardes.

cd /le_repertoire_contenant_les_sauvegardes/
git init

Avant le lancement du jeu

while inotifywait -e modify -e create .
do
  git add .
  git commit -m "Nouvelle sauvegarde…"
  # pour limiter les sauvegardes à 1 par minute même si le jeu sauvegarde plus fréquemment
  sleep 1m
done

Pour revenir en arrière

  1. Fermer le jeu
  2. Interrompre la boucle while ci-dessus avec un Ctrl-C si nécessaire
  3. Afficher le log :
cd /le_repertoire_contenant_les_sauvegardes/
git log
  1. Identifier le hash du commit de la sauvegarde à laquelle vous voulez revenir.
  2. Restaurer la sauvegarde :
git reset --hard lehashducommit

Vous pouvez ensuite relancer la boucle et relancer le jeu.

Notes

Si les fichiers de sauvegarde ne sont pas isolés dans un dossier

Simplement adapter le git add en rajoutant un pattern:

while inotifywait -e modify -e create .
do
  git add *.sav
  git commit -m "Nouvelle sauvegarde…"
  # pour limiter les sauvegardes à 1 par minute même si le jeu sauvegarde plus fréquemment
  sleep 1m
done