Pour sauvegarder des données sous Linux, il existe restic en tant que logiciel de backups.
Restic peut sauvegarder des données sur différent backends :
- Buckets S3 (minio, scaleway, AWS, etc...)
- SFTP
- Local
- Etc...
Et si vous souhaitez plus de backends (Nextcloud, Dropbox, OVH, etc...), il est possible de coupler restic avec Rclone.
Installation
Pour installer restic sous Debian ou Ubuntu :
apt update && apt install -y restic
Sur Arch Linux :
sudo pacman -S restic
Ou manuellement :
export RESTIC_VERSION=0.16.4wget https://github.com/restic/restic/releases/download/v$RESTIC_VERSION/restic_${RESTIC_VERSION}_linux_amd64.bz2bzip2 -d restic_${RESTIC_VERSION}_linux_amd64.bz2mv restic_${RESTIC_VERSION}_linux_amd64 /bin/resticchmod +x /bin/restic
Lancer une sauvegarde vers un bucket S3
Voici un exemple avec une sauvegarde du dossier ~/
vers un bucket S3 de chez Scaleway :
# ~/.aws/credentials[default]aws_access_key_id = <AWS_ACCESS_KEY_ID>aws_secret_access_key = <AWS_SECRET_ACCESS_KEY>
restic -r s3:s3.fr-par.scw.cloud/<bucket_name> init
restic -r s3:s3.fr-par.scw.cloud/<bucket_name> backup ~/
Il est possible de facilement automatiser la sauvegarde via une tâche cron :
# Sauvegarde du dossier ~/ chaque jour à minuit0 0 * * * RESTIC_PASSWORD=<PASSWORD> restic -r s3:s3.fr-par.scw.cloud/<bucket_name> backup ~/
Consulter les sauvegardes
restic -r <remote> snapshots
Restaurer une sauvegarde
restic -r <remote> restore <id> --target <folder>
Restaurer un fichier spécifique
restic -r <remote> restore <id> --include <file_path> --target <folder>
Monter une sauvegarde
Pour monter une sauvegarde restic sur un dossier :
restic -r <remote> mount <folder>
Libérer de l'espace
Pour libérer de l'espace :
restic -r <remote> forget --keep-within 30drestic -r <remote> prune
Mettre à jour restic
Pour mettre à jour restic :
restic self-update
Débloquer l'accès
Si pour une raison ou une autre votre accès est bloqué, exécuter la commande suivante :
kill <pid>restic -r <remote> unlock
Mettre à jour le mot de passe d'un repository
restic -r <remote> key listrestic -r <remote> key add