[{"data":1,"prerenderedAt":190},["ShallowReactive",2],{"seo-verification":3,"blog-sauvegardes-restic-vps-ma-fr":6,"promo-bar-likely":189},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-sauvegardes-restic-vps-ma-fr",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":130,"ctaBody":131,"ctaButton":132,"ctaUrl":133,"relatedPosts":134},113,"sauvegardes-restic-vps",{"fr":10,"en":12,"ar":13,"es":14},"automate-your-vps-backups-with-restic","أتمتة-نسخ-خادمك-vps-الاحتياطية-باستخدام-restic","copias-de-seguridad-vps-con-restic","Automatiser les sauvegardes de votre VPS avec Restic","Automatisez les sauvegardes de votre VPS avec Restic : snapshots chiffrés, déduplication et envoi vers S3 ou tout backend objet.",11,0,false,"2026-02-27T00:00:00+00:00","2026-11-08T01:13:12+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},8,"Sécurité & Monitoring","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fsauvegardes-restic-vps-poster.svg","Une sauvegarde qui n'est ni testée ni chiffrée ne vaut rien le jour d'un incident. Restic combine snapshots incrémentaux, déduplication et chiffrement de bout en bout dans un binaire unique. Sur votre VPS, il devient le filet de sécurité automatisé de vos données, poussées vers un stockage objet distant à moindre coût.",[35,39,49,52,59,62,90,118,122,125,128],{"type":36,"title":37,"body":38},"h2","Pourquoi automatiser vos sauvegardes avec Restic","Un VPS héberge souvent des données irremplaçables : bases de données, volumes Docker, fichiers de configuration. Restic répond à trois exigences clés d'une bonne stratégie : le chiffrement (AES-256, le dépôt est inutilisable sans le mot de passe), la déduplication (les blocs identiques ne sont stockés qu'une fois, ce qui réduit drastiquement le volume et le coût), et le support de backends variés (S3, Backblaze B2, SFTP, stockage local). Self-héberger Restic sur le VPS plutôt que de dépendre d'un service de backup managé vous donne le contrôle total du chiffrement : la clé reste chez vous, le fournisseur de stockage ne voit que des blobs opaques. C'est la base d'une stratégie 3-2-1 sérieuse.",{"type":40,"title":41,"items":42},"ul","Ce que Restic vous apporte",[43,44,45,46,47,48],"Chiffrement AES-256 côté client : le backend de stockage ne voit que des données illisibles.","Déduplication par blocs qui réduit fortement la taille et le coût des sauvegardes successives.","Snapshots incrémentaux rapides : seuls les nouveaux blocs sont transférés à chaque run.","Backends multiples (S3, Backblaze B2, SFTP, rest-server, local) sans changer de workflow.","Restauration granulaire : un fichier, un dossier ou tout un snapshot via `restic restore`.","Politique de rétention automatisée avec `forget --prune` (garder N quotidiens, M hebdos...).",{"type":36,"title":50,"body":51},"La règle 3-2-1 : pourquoi un snapshot hébergeur ne suffit pas","Activer les snapshots de votre fournisseur VPS est utile, mais ce n'est pas une stratégie de sauvegarde : c'est une seule copie supplémentaire, chez le même fournisseur, qui partage le sort de votre VM. Trois scénarios le montrent. Si la VM est supprimée (erreur de manipulation, impayé, résiliation), ses snapshots disparaissent souvent avec elle. Si un attaquant prend la main sur votre compte chez l'hébergeur, il efface VM et snapshots en quelques clics ou par l'API. Et un snapshot n'est jamais restauré à titre d'essai : une base de données figée en pleine écriture peut s'avérer inutilisable le jour où vous en avez besoin.\n\nLa règle 3-2-1 répond à ces trois risques : **trois** copies des données, sur **deux** supports distincts, dont **une** hors du fournisseur, chiffrée avant de quitter le serveur. Restic construit précisément ce dernier maillon, le seul qui survit à la perte complète du compte hébergeur.",{"type":40,"title":53,"items":54},"Les trois copies d'une stratégie 3-2-1 sur VPS",[55,56,57,58],"**Copie 1, les données vivantes** sur le disque du VPS : c'est l'original, et la source des restaurations les plus rapides.","**Copie 2, les snapshots du fournisseur** : ils couvrent une mise à jour ratée ou une erreur de configuration, avec un retour en arrière de toute la machine.","**Copie 3, le dépôt Restic chez un autre fournisseur** de stockage objet : chiffré côté client, il reste hors d'atteinte du tableau de bord de votre hébergeur.","**Deux supports réellement séparés** : le disque du VPS d'un côté, le stockage objet d'un tiers de l'autre, avec des identifiants distincts.",{"type":36,"title":60,"body":61},"Prérequis pour ce déploiement","Restic est frugal : il fonctionne sur n'importe quel VPS, y compris 1 vCPU et 1 Go de RAM, la déduplication consommant un peu de mémoire proportionnellement à la taille du dépôt. Vous avez besoin du binaire `restic`, d'un backend de destination distant (un bucket S3-compatible chez un fournisseur, ou un autre serveur en SFTP) et de ses identifiants. Pas de Docker obligatoire ici : Restic est un outil en ligne de commande.\n\nVérifiez la version que fournit votre distribution : Debian 13 et Ubuntu 26.04 livrent une 0.18, mais Ubuntu 24.04 en est à la 0.16.4 et Debian 12 à la 0.14.0, trop ancienne pour l'option `--stdin-from-command` utilisée plus bas (apparue en 0.17.0). Dans ce cas, installez le binaire officiel depuis la \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Frestic\u002Frestic\u002Freleases\">page des releases\u003C\u002Fa> (0.19.1, publiée le 5 juillet 2026) : seuls ces binaires officiels embarquent la commande `restic self-update`, un paquet de distribution se met à jour par `apt`. Prévoyez enfin un timer systemd (ou `cron`) pour l'automatisation, et un emplacement sûr hors du VPS pour conserver le mot de passe du dépôt.",{"type":63,"title":64,"headers":65,"rows":69},"comparison","Backblaze B2 ou Cloudflare R2 : choisir le backend S3",[66,67,68],"Critère","Backblaze B2","Cloudflare R2",[70,74,78,82,86],[71,72,73],"Stockage offert","Les 10 premiers Go","10 Go-mois par mois (classe Standard)",[75,76,77],"Sortie de données (egress)","Gratuite jusqu'à 3 fois le volume stocké en moyenne sur le mois, et sans limite vers les CDN partenaires (Cloudflare, Fastly)","Gratuite, sans plafond",[79,80,81],"Endpoint S3","Propre à la région du compte, par exemple `s3.us-west-004.backblazeb2.com`","`\u003Caccount-id>.r2.cloudflarestorage.com`, région `auto`",[83,84,85],"Clés d'accès","Application Key dédiée : la clé maîtresse est refusée par l'API S3","Jeton d'API R2 avec droits de lecture et d'écriture sur les objets",[87,88,89],"Point d'attention","Une restauration complète et fréquente peut dépasser le quota de sortie gratuit","Les tests de restauration réguliers n'ajoutent aucun coût de sortie",{"type":91,"title":92,"steps":93},"steps","Mettre en place des sauvegardes Restic automatisées",[94,97,100,103,106,109,112,115],{"title":95,"body":96},"Installer Restic et préparer le fichier d'environnement","Installez `restic` (paquet récent ou binaire officiel, voir les prérequis), puis créez `\u002Froot\u002F.restic-env`. Écrivez-le en simples lignes `CLÉ=valeur`, **sans** `export` : c'est le format que lit la directive `EnvironmentFile=` de systemd, et il se charge aussi dans un shell. Pour Restic, B2 s'utilise de préférence par son API compatible S3 :\n\n```bash\n# \u002Froot\u002F.restic-env  (Backblaze B2, S3 API)\nRESTIC_REPOSITORY=s3:https:\u002F\u002Fs3.us-west-004.backblazeb2.com\u002Fmy-bucket\nRESTIC_PASSWORD=change-me\nAWS_ACCESS_KEY_ID=b2-key-id\nAWS_SECRET_ACCESS_KEY=b2-application-key\n\n# Cloudflare R2\n# RESTIC_REPOSITORY=s3:https:\u002F\u002F\u003Caccount-id>.r2.cloudflarestorage.com\u002Fmy-bucket\n```\n\nRestreignez les droits du fichier, puis chargez-le dans votre session :\n\n```bash\nchmod 600 \u002Froot\u002F.restic-env\nset -a; . \u002Froot\u002F.restic-env; set +a\n```",{"title":98,"body":99},"Initialiser le dépôt chiffré","```bash\nrestic init\n```\n\nCette commande crée la structure du dépôt et scelle le chiffrement avec votre mot de passe ; les dépôts récents (format 2, depuis Restic 0.14.0) compressent aussi les données. Conservez ce mot de passe **hors du VPS**, dans un gestionnaire de mots de passe ou un coffre sur une autre machine : sans lui, aucune restauration n'est possible, même avec le bucket complet.",{"title":101,"body":102},"Lancer une première sauvegarde","Sauvegardez vos répertoires critiques, puis vos bases de données. Pour un dump, préférez `--stdin-from-command` à un tube `pg_dump | restic backup --stdin` : Restic ne peut pas savoir si un flux lu sur l'entrée standard est complet, et un dump qui échoue en route produirait un snapshot tronqué sans erreur. Avec `--stdin-from-command`, un code de sortie non nul de la commande annule la sauvegarde et aucun snapshot n'est créé.\n\n```bash\nrestic backup \u002Fetc \u002Fvar\u002Fwww \u002Fopt\u002Fdocker-data\nrestic backup --stdin-filename mydb.sql --stdin-from-command -- pg_dump -U postgres mydb\nrestic snapshots\n```",{"title":104,"body":105},"Définir une politique de rétention","```bash\nrestic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune\n```\n\nSept quotidiennes couvrent une semaine entière, de quoi repérer une corruption qui ne se manifeste qu'au bout de quelques jours. Quatre hebdomadaires ouvrent une fenêtre d'un mois pour un problème applicatif lent, des données qui disparaissent peu à peu. Six mensuelles permettent de revenir à un état d'avant une migration ratée. La passe `--prune` est indispensable : `forget` seul retire les snapshots de la liste sans libérer l'espace, et la facture de stockage continue de croître.",{"title":107,"body":108},"Vérifier l'intégrité : check, puis read-data","Ces commandes ne contrôlent pas la même chose :\n\n```bash\nrestic check\nrestic check --read-data-subset=10%\nrestic check --read-data\n```\n\n`restic check` valide la structure du dépôt (snapshots, arbres, index, packs) sans lire le contenu des fichiers de données : rapide, il se lance après chaque `forget --prune`. `--read-data` télécharge et vérifie tous les packs, ce qui prend du temps et consomme de la bande passante sortante. Entre les deux, `--read-data-subset` contrôle une part aléatoire (`10%`, ou une taille comme `5G`) ou une tranche fixe (`1\u002F5` à `5\u002F5`, pour tout couvrir en cinq passages). Une vérification partielle chaque semaine et complète une fois par mois est un bon compromis.",{"title":110,"body":111},"Écrire le script de sauvegarde et son service systemd","Regroupez les gestes dans un script. Il écrit d'abord un fichier sentinelle horodaté, qui servira au test de restauration, et s'arrête à la première erreur grâce à `set -eu` :\n\n```bash\n#!\u002Fbin\u002Fsh\n# \u002Fusr\u002Flocal\u002Fbin\u002Frestic-backup.sh\nset -eu\ndate +%s > \u002Fopt\u002Frestic-sentinel.txt\nrestic backup \u002Fetc \u002Fvar\u002Fwww \u002Fopt\u002Fdocker-data \u002Fopt\u002Frestic-sentinel.txt\nrestic forget --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --prune\nrestic check\n```\n\nLe service le lance avec les variables du fichier d'environnement, sans qu'aucun secret n'apparaisse dans la définition de l'unité :\n\n```bash\n# \u002Fetc\u002Fsystemd\u002Fsystem\u002Frestic-backup.service\n[Unit]\nDescription=Restic backup\nAfter=network-online.target\nWants=network-online.target\n\n[Service]\nType=oneshot\nEnvironmentFile=\u002Froot\u002F.restic-env\nExecStart=\u002Fusr\u002Flocal\u002Fbin\u002Frestic-backup.sh\n```",{"title":113,"body":114},"Planifier avec un timer systemd","Le timer déclenche le service chaque nuit. `Persistent=true` rattrape un passage manqué si le VPS était éteint à l'heure prévue, et `RandomizedDelaySec=900` étale le départ sur quinze minutes, utile quand plusieurs serveurs visent le même bucket :\n\n```bash\n# \u002Fetc\u002Fsystemd\u002Fsystem\u002Frestic-backup.timer\n[Unit]\nDescription=Daily restic backup\n\n[Timer]\nOnCalendar=*-*-* 03:00:00\nPersistent=true\nRandomizedDelaySec=900\n\n[Install]\nWantedBy=timers.target\n```\n\nActivez-le puis vérifiez la prochaine échéance et les journaux du dernier passage :\n\n```bash\nchmod 700 \u002Fusr\u002Flocal\u002Fbin\u002Frestic-backup.sh\nsystemctl daemon-reload\nsystemctl enable --now restic-backup.timer\nsystemctl list-timers restic-backup.timer\njournalctl -u restic-backup.service --since today\n```\n\nSi vous préférez `cron`, une ligne `0 3 * * *` qui charge le fichier d'environnement puis appelle le même script fait l'affaire, sans le rattrapage de `Persistent=`.",{"title":116,"body":117},"Automatiser le test de restauration","Une sauvegarde jamais restaurée reste une hypothèse. Ce second script restaure le seul fichier sentinelle du dernier snapshot et le compare à l'original : si la sauvegarde de la nuit a échoué ou si le dépôt ne rend plus rien, `cmp` échoue et le service passe en état `failed`. Le test vise le snapshot le plus récent : si vous ajoutez des dumps `--stdin-from-command` au script de sauvegarde, placez-les avant la sauvegarde des fichiers, qui doit rester la dernière.\n\n```bash\n#!\u002Fbin\u002Fsh\n# \u002Fusr\u002Flocal\u002Fbin\u002Frestic-restore-test.sh\nset -eu\nrm -rf \u002Ftmp\u002Frestic-test-restore\nrestic restore latest --target \u002Ftmp\u002Frestic-test-restore --include \u002Fopt\u002Frestic-sentinel.txt\ncmp \u002Ftmp\u002Frestic-test-restore\u002Fopt\u002Frestic-sentinel.txt \u002Fopt\u002Frestic-sentinel.txt\n```\n\nPlanifiez-le chaque semaine, après la sauvegarde de la nuit :\n\n```bash\n# \u002Fetc\u002Fsystemd\u002Fsystem\u002Frestic-restore-test.service\n[Service]\nType=oneshot\nEnvironmentFile=\u002Froot\u002F.restic-env\nExecStart=\u002Fusr\u002Flocal\u002Fbin\u002Frestic-restore-test.sh\n\n# \u002Fetc\u002Fsystemd\u002Fsystem\u002Frestic-restore-test.timer\n[Timer]\nOnCalendar=Sun 05:00:00\nPersistent=true\n\n[Install]\nWantedBy=timers.target\n```\n\nActivez le timer avec `systemctl enable --now restic-restore-test.timer`, et branchez l'état `failed` de ces deux services sur votre supervision. Une fois par trimestre, restaurez aussi un vrai répertoire, une base de données comprise, sur une machine de test.",{"type":119,"title":120,"body":121},"tip","Secrets Restic : un fichier isolé, jamais en dur dans l'unité","Ne placez jamais `RESTIC_PASSWORD` ni les clés S3 dans une ligne `Environment=` d'une unité systemd, dans un script versionné ou dans un Dockerfile : les variables déclarées dans l'unité sont lisibles par `systemctl show`. Le fichier `\u002Froot\u002F.restic-env` en `chmod 600`, chargé par `EnvironmentFile=`, garde les secrets hors de la définition de l'unité. Pour aller plus loin, la directive `LoadCredential=` de systemd expose un secret dans un répertoire réservé au service (`$CREDENTIALS_DIRECTORY`) : Restic lit alors son mot de passe avec `RESTIC_PASSWORD_FILE`.",{"type":36,"title":123,"body":124},"Dépannage : les erreurs courantes","**`restic init` ou le premier `backup` échoue sur le bucket.** Vérifiez d'abord que les variables sont chargées (`echo $RESTIC_REPOSITORY`), puis l'endpoint : sur B2, il doit correspondre à la région de votre compte, et l'endpoint d'AWS (`s3.amazonaws.com`) est une erreur fréquente. Une Application Key B2 restreinte à un seul bucket doit aussi porter la permission `listAllBucketNames` pour fonctionner avec les outils S3, et la clé maîtresse du compte ne marche pas avec l'API S3. Sur R2, le jeton doit avoir les droits de lecture et d'écriture sur les objets du bucket.\n\n**Le timer ne se déclenche pas.** Trois commandes suffisent : `systemctl status restic-backup.timer` (actif ou non), `systemctl list-timers --all | grep restic` (prochaine échéance), `journalctl -u restic-backup.service --since today` (journal du dernier passage). Pour valider une expression `OnCalendar`, `systemd-analyze calendar '*-*-* 03:00:00'` doit afficher la prochaine date de déclenchement.\n\n**Le dépôt reste verrouillé.** Une sauvegarde interrompue (redémarrage, coupure réseau) peut laisser un verrou : `restic list locks` le montre, `restic unlock` retire les verrous périmés. Assurez-vous avant qu'aucune autre opération Restic ne tourne.\n\n**`restic check --read-data` trop long.** Sur un dépôt de plusieurs dizaines de Go, la lecture complète prend des heures et pèse sur le quota de sortie. Passez à `--read-data-subset=10%` ou à une tranche `1\u002F4` chaque semaine, et réservez la lecture complète à une maintenance mensuelle.",{"type":36,"title":126,"body":127},"Plan de reprise : combien de temps pour tout restaurer ?","La durée d'une restauration complète dépend du volume du dépôt, de la bande passante entre le VPS et le bucket, et de la politique de sortie du fournisseur. Sur R2, la sortie est gratuite : rien n'oblige à étaler une restauration. Sur B2, elle est gratuite jusqu'à trois fois le volume stocké en moyenne sur le mois ; au-delà, une restauration complète d'un gros dépôt est facturée.\n\nNe devinez pas ce temps, mesurez-le. `restic stats` donne la taille du dépôt ; restaurez ensuite un répertoire significatif (`restic restore latest --target \u002Ftmp\u002Ftest --include \u002Fetc`) et chronométrez l'opération pour extrapoler. Deux pratiques raccourcissent la reprise : sauvegarder uniquement ce qui compte (ni caches, ni journaux, ni `\u002Ftmp`, ni volumes Docker abandonnés), et noter dans votre procédure l'ordre de remise en service, les bases de données d'abord, puis les applications qui en dépendent.",{"type":119,"body":129},"Protégez vos sauvegardes contre le ransomware en activant le mode \"append-only\" côté backend : déployez `rest-server` distant avec l'option `--append-only`, ou utilisez un bucket S3 avec une politique IAM interdisant les suppressions. Ainsi, même si votre VPS est compromis et que l'attaquant obtient les identifiants, il ne pourra ni effacer ni chiffrer vos snapshots existants. Combinez cela avec une exécution de `restic forget --prune` depuis une machine distincte disposant, elle, des droits de suppression.","Sécurisez vos données dès le premier jour","Sur un VPS Cloud ServOrbit avec template préconfiguré, vous installez Restic en quelques commandes et planifiez des sauvegardes chiffrées vers le stockage objet de votre choix.","Déployer mon VPS de sauvegarde","\u002Fvps-cloud",[135,153,171],{"id":136,"slug":137,"slugs":138,"title":142,"excerpt":143,"readTime":23,"views":18,"isPinned":19,"noindex":19,"publishedAt":144,"updatedAt":145,"category":146,"categories":147,"featuredImage":30,"bgImage":31,"posterImage":149,"relatedSolution":150},105,"superviser-vps-uptime-kuma",{"fr":137,"en":139,"ar":140,"es":141},"monitoring-your-vps-with-uptime-kuma","مراقبة-خادمك-الافتراضي-vps-باستخدام-uptime-kuma","supervisar-vps-con-uptime-kuma","Superviser votre VPS avec Uptime Kuma","Déployez Uptime Kuma sur votre VPS pour surveiller vos sites et services en self-hosted, avec alertes et page de statut publique.","2026-03-07T00:00:00+00:00","2026-11-09T20:55:19+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[148],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fsuperviser-vps-uptime-kuma-poster.svg",{"categorySlug":151,"appSlug":152},"monitoring","uptime-kuma",{"id":154,"slug":155,"slugs":156,"title":160,"excerpt":161,"readTime":17,"views":162,"isPinned":19,"noindex":19,"publishedAt":163,"updatedAt":164,"category":165,"categories":166,"featuredImage":30,"bgImage":31,"posterImage":168,"relatedSolution":169},106,"monitoring-vps-grafana-prometheus",{"fr":155,"en":157,"ar":158,"es":159},"vps-monitoring-with-grafana-and-prometheus","مراقبة-الخادم-الافتراضي-vps-باستخدام-grafana-و-prometheus","monitorizacion-vps-grafana-prometheus","Monitoring VPS avec Grafana et Prometheus","Déployez Prometheus 3.x, Grafana 13.x, Node Exporter et Alertmanager sur votre VPS avec Docker Compose. Dashboards, alertes et durcissement.",1,"2026-03-06T00:00:00+00:00","2026-10-05T14:05:27+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[167],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fmonitoring-vps-grafana-prometheus-poster.svg",{"categorySlug":151,"appSlug":170},"grafana",{"id":172,"slug":173,"slugs":174,"title":178,"excerpt":179,"readTime":180,"views":162,"isPinned":19,"noindex":19,"publishedAt":181,"updatedAt":182,"category":183,"categories":184,"featuredImage":30,"bgImage":31,"posterImage":186,"relatedSolution":187},107,"monitorer-vps-netdata",{"fr":173,"en":175,"ar":176,"es":177},"monitor-your-vps-in-real-time-with-netdata","راقب-خادمك-الافتراضي-vps-في-الوقت-الفعلي-باستخدام-netdata","monitorizar-vps-en-tiempo-real-con-netdata","Monitorer votre VPS en temps réel avec Netdata","Installez Netdata sur votre VPS pour un monitoring temps réel par seconde : milliers de métriques, zéro configuration, alertes incluses.",3,"2026-03-05T00:00:00+00:00","2026-09-07T11:26:10+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[185],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fmonitorer-vps-netdata-poster.svg",{"categorySlug":151,"appSlug":188},"netdata",true,1794270782487]