# 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 d’exé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 d’export 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 l’accè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) : ```text 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 d’analyse - 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 d’erreur `git clone` : créer le dépôt sur git.4nkweb.com. - En cas d’erreur `git push` : vérifier credential helper / accès réseau.