Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

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.

  • git est un outils de suivi de versions permettant notamment de garder trace de toutes les versions antérieures d'un fichier et des fichiers d'un répertoire.
  • inotify est un outil captant les événements de création/modification/etc. de fichiers du système, envoyés par le noyau.

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
utilisateurs/captnfab/tutos/inotify-sauvegardes-jeux.txt · Dernière modification: 22/10/2019 07:36 par captnfab

Pied de page des forums

Propulsé par FluxBB