anchorage_layer_simple/features/backup-to-git-daily-cron.md
ncantu 937646cc45 Daily backup to git cron, backup/restore scripts, docs
**Motivations:**
- Export Signet and mining wallet backups to git with only 2 versions kept
- Document and add backup/restore scripts for signet and mining wallet

**Correctifs:**
- Backup-to-git uses SSH URL for passwordless cron; copy timestamped files only; prune to 2 versions; remove *-latest from backup repo

**Evolutions:**
- data/backup-to-git-cron.sh: daily export to git.4nkweb.com/4nk/backup
- save-signet-datadir-backup.sh, restore-signet-from-backup.sh, export-mining-wallet.sh, import-mining-wallet.sh
- features/backup-to-git-daily-cron.md, docs/MAINTENANCE.md backup section
- .gitignore: data/backup-to-git.log

**Pages affectées:**
- .gitignore, data/backup-to-git-cron.sh, docs/MAINTENANCE.md, features/backup-to-git-daily-cron.md
- save-signet-datadir-backup.sh, restore-signet-from-backup.sh, export-mining-wallet.sh, import-mining-wallet.sh
- Plus autres fichiers modifiés ou non suivis déjà présents dans le working tree
2026-02-04 03:07:57 +01:00

3.0 KiB
Raw Permalink Blame History

Cron quotidien : export backups Signet et mining wallet vers git

Auteur : Équipe 4NK
Date : 2026-02-04

Objectif

Exporter quotidiennement les sauvegardes du Signet (chaîne complète) et du wallet de minage vers le dépôt git https://git.4nkweb.com/4nk/backup, en ne conservant que 2 versions de chaque type.

Impacts

  • Sauvegardes Signet et mining wallet disponibles sur git pour récupération à distance.
  • Rotation automatique : au plus 2 versions de la chaîne complète (signet-datadir) et 2 versions du wallet.
  • Log : data/backup-to-git.log.

Solution implémentée

Script data/backup-to-git-cron.sh

  1. Exécute save-signet-datadir-backup.sh → crée backups/signet-datadir-YYYYMMDD-HHMMSS.tar.gz
  2. Exécute export-mining-wallet.sh → crée backups/mining-wallet-export-YYYYMMDD-HHMMSS.json
  3. Clone ou pull le dépôt https://git.4nkweb.com/4nk/backup dans $HOME/.4nk-backup-git (ou $BACKUP_GIT_WORKSPACE)
  4. Copie les derniers fichiers dans signet-datadir/ et mining-wallet/
  5. Garde seulement 2 versions de signet-datadir et 2 de mining-wallet (supprime les plus anciennes)
  6. Commit et push vers le dépôt

Structure dans le dépôt backup

4nk/backup/
├── signet-datadir/
│   ├── signet-datadir-YYYYMMDD-HHMMSS.tar.gz  (max 2)
│   └── signet-datadir-YYYYMMDD-HHMMSS.tar.gz
└── mining-wallet/
    ├── mining-wallet-export-YYYYMMDD-HHMMSS.json  (max 2)
    └── mining-wallet-export-YYYYMMDD-HHMMSS.json

Prérequis

  • Docker (conteneur bitcoin-signet-instance en cours dexécution pour les scripts de backup)
  • Git configuré avec accès push sans mot de passe (clés SSH vers git@git.4nkweb.com:4nk/backup.git)
  • Dépôt backup créé au préalable sur https://git.4nkweb.com/4nk/backup (peut être vide)
  • Sécurité : le dépôt backup contient des clés privées (mining wallet). Le rendre privé sur git.4nkweb.com.

Modifications

Fichiers créés :

  • data/backup-to-git-cron.sh : script dexport quotidien
  • features/backup-to-git-daily-cron.md : cette documentation

Modalités de déploiement

  1. Créer le dépôt 4nk/backup sur https://git.4nkweb.com/4nk/backup si nécessaire.
  2. Configurer laccès git (credential helper, clé, token) pour push sans interaction.
  3. Rendre le script exécutable : chmod +x data/backup-to-git-cron.sh
  4. Ajouter une entrée cron quotidienne (ex. 5h00, après restart-services si applicable) :
    0 5 * * * /home/ncantu/Bureau/code/bitcoin/data/backup-to-git-cron.sh
    
  5. Tester manuellement : ./data/backup-to-git-cron.sh

Variables d'environnement (optionnel)

  • BACKUP_GIT_WORKSPACE : chemin du clone local du dépôt backup (défaut : $HOME/.4nk-backup-git)

Modalités danalyse

  • Consulter data/backup-to-git.log pour les exécutions et erreurs.
  • Vérifier le dépôt https://git.4nkweb.com/4nk/backup pour les commits.
  • En cas derreur git clone : créer le dépôt sur git.4nkweb.com.
  • En cas derreur git push : vérifier credential helper / accès réseau.