Utilisation de restic pour faire des backups sous windows. Restic utilise sftp pour joindre le repo. Une clef ssh est utilisée, pour le user restic. J'ai installé busybox sous windows pour avoir le shell. L’intérêt de restic est la déduplication des données. Quand on initialise un repo, on peut envoyer les backups de differents hosts dedant. La déduplication sera commune. Après quelques quelques semaines de backup, j'ai plus de 75To de données sauvegardées, la taille sur disque est d'environ 6To.
Exemple de contenu du fichier excludes.txt.
NTUSER.DAT ntuser.dat* NTUSER.DAT* hiberfil.sys pagefile.sys swapfile.sys
Initialisation du fichier restic_env.sh . S'utilise avec la commande source pour charger l'env.
export RESTIC_REPOSITORY=sftp:restic@192.168.1.1:/mnt/restic-repo export RESTIC_PASSWORD='password_restic'
Script de backup
#!/bin/bash restic backup --exclude-file excludes.txt --pack-size 64 --tag terra,c: --exclude-caches --read-concurrency 8 C:/
Test d'integrité sur 5% des sauvegardes.
restic check --read-data-subset 5%
Script de purge des vieux backup selon certains critères.
forget.sh , est lancé avec le paramètre run, pour que la purge soit effective.
#!/bin/bash
# Commande par défaut
default_cmd() {
echo "Exécution de la commande par défaut"
# Exemple : ls -l
}
# Commande alternative lorsque 'run' est passé
run_cmd() {
echo "Exécution de la commande 'run'"
# Exemple : ./mon_programme
}
# Vérification de l'argument
if [[ "$1" == "run" ]]; then
echo "forget run mode"
restic forget --keep-daily 7 --keep-weekly 5 --keep-monthly 3 --prune --pack-size 64
else
echo "forget dry-run mode"
restic forget --keep-daily 7 --keep-weekly 5 --keep-monthly 3 --dry-run --pack-size 64
echo "taper forget.sh run pour executer l'action"
fi
Liste des snaps
restic snapshots
En cas de problème de lock, si rien ne tourne.
restic unlock --remove-all