[{"data":1,"prerenderedAt":1492},["ShallowReactive",2],{"navigation_docs_fr":3,"-fr-serveex-advanced-backrest-":384,"-fr-serveex-advanced-backrest--surround":1487},[4,16,93,269,278,339],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":15},"À propos","i-noto-star","\u002Ffr\u002Fabout","fr\u002F1.about",[10],{"title":11,"path":12,"stem":13,"icon":14},"Bienvenue","\u002Ffr\u002Fabout\u002Fwelcome","fr\u002F1.about\u002F1.welcome","i-lucide-home",false,{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":15},"Généralités","i-noto-open-book","\u002Ffr\u002Fgeneral","fr\u002F2.general",[22,26,44,58,75],{"title":17,"path":23,"stem":24,"icon":25},"\u002Ffr\u002Fgeneral\u002Fsummary","fr\u002F2.general\u002F1.summary","i-lucide-bookmark",{"title":27,"icon":28,"path":29,"stem":30,"children":31,"page":15},"Réseau","i-lucide-network","\u002Ffr\u002Fgeneral\u002Fnetworking","fr\u002F2.general\u002F2.networking",[32,36,40],{"title":33,"path":34,"stem":35},"NAT & DHCP","\u002Ffr\u002Fgeneral\u002Fnetworking\u002Fnat","fr\u002F2.general\u002F2.networking\u002F1.nat",{"title":37,"path":38,"stem":39},"Zone DNS","\u002Ffr\u002Fgeneral\u002Fnetworking\u002Fdns","fr\u002F2.general\u002F2.networking\u002F2.dns",{"title":41,"path":42,"stem":43},"Samba","\u002Ffr\u002Fgeneral\u002Fnetworking\u002Fsamba","fr\u002F2.general\u002F2.networking\u002F3.samba",{"title":45,"icon":46,"path":47,"stem":48,"children":49,"page":15},"Stockage","i-lucide-hard-drive","\u002Ffr\u002Fgeneral\u002Fstorage","fr\u002F2.general\u002F3.storage",[50,54],{"title":51,"path":52,"stem":53},"RAID","\u002Ffr\u002Fgeneral\u002Fstorage\u002Fraid","fr\u002F2.general\u002F3.storage\u002F1.raid",{"title":55,"path":56,"stem":57},"ZFS","\u002Ffr\u002Fgeneral\u002Fstorage\u002Fzfs","fr\u002F2.general\u002F3.storage\u002F2.zfs",{"title":59,"icon":60,"path":61,"stem":62,"children":63,"page":15},"Matériel","i-lucide-server","\u002Ffr\u002Fgeneral\u002Fhardware","fr\u002F2.general\u002F4.hardware",[64,68,71],{"title":65,"path":66,"stem":67},"Les bases","\u002Ffr\u002Fgeneral\u002Fhardware\u002Fbasics","fr\u002F2.general\u002F4.hardware\u002F1.basics",{"title":27,"path":69,"stem":70},"\u002Ffr\u002Fgeneral\u002Fhardware\u002Fnetwork","fr\u002F2.general\u002F4.hardware\u002F2.network",{"title":72,"path":73,"stem":74},"Le ProloNAS","\u002Ffr\u002Fgeneral\u002Fhardware\u002Fprolonas","fr\u002F2.general\u002F4.hardware\u002F3.prolonas",{"title":76,"icon":77,"path":78,"stem":79,"children":80,"page":15},"Linux pour les nuls","i-lucide-terminal","\u002Ffr\u002Fgeneral\u002Flinux","fr\u002F2.general\u002F5.linux",[81,85,89],{"title":82,"path":83,"stem":84},"CLI pour les nuls","\u002Ffr\u002Fgeneral\u002Flinux\u002Fcli-basics","fr\u002F2.general\u002F5.linux\u002F1.cli-basics",{"title":86,"path":87,"stem":88},"Dossiers et partitions","\u002Ffr\u002Fgeneral\u002Flinux\u002Ffilesystem","fr\u002F2.general\u002F5.linux\u002F2.filesystem",{"title":90,"path":91,"stem":92},"Outils CLI pratiques","\u002Ffr\u002Fgeneral\u002Flinux\u002Fhandy-tools","fr\u002F2.general\u002F5.linux\u002F3.handy-tools",{"title":94,"icon":95,"path":96,"stem":97,"children":98,"page":15},"Serveex","i-noto-microscope","\u002Ffr\u002Fserveex","fr\u002F3.serveex",[99,103,125,143,169,187,201,215,233,247],{"title":100,"path":101,"stem":102,"icon":25},"Introduction","\u002Ffr\u002Fserveex\u002Fintroduction","fr\u002F3.serveex\u002F1.introduction",{"title":104,"icon":105,"path":106,"stem":107,"children":108,"page":15},"Cœur du serveur","i-lucide-server-cog","\u002Ffr\u002Fserveex\u002Fcore","fr\u002F3.serveex\u002F2.core",[109,113,117,121],{"title":110,"path":111,"stem":112},"Debian 13","\u002Ffr\u002Fserveex\u002Fcore\u002Finstallation","fr\u002F3.serveex\u002F2.core\u002F1.installation",{"title":114,"path":115,"stem":116},"Docker","\u002Ffr\u002Fserveex\u002Fcore\u002Fdocker","fr\u002F3.serveex\u002F2.core\u002F2.docker",{"title":118,"path":119,"stem":120},"WireGuard","\u002Ffr\u002Fserveex\u002Fcore\u002Fwireguard","fr\u002F3.serveex\u002F2.core\u002F3.wireguard",{"title":122,"path":123,"stem":124},"SWAG","\u002Ffr\u002Fserveex\u002Fcore\u002Fswag","fr\u002F3.serveex\u002F2.core\u002F4.swag",{"title":126,"icon":127,"path":128,"stem":129,"children":130,"page":15},"Sécurité","i-lucide-shield","\u002Ffr\u002Fserveex\u002Fsecurity","fr\u002F3.serveex\u002F3.security",[131,135,139],{"title":132,"path":133,"stem":134},"Cloudflare Zero Trust","\u002Ffr\u002Fserveex\u002Fsecurity\u002Fcloudflare","fr\u002F3.serveex\u002F3.security\u002F2.cloudflare",{"title":136,"path":137,"stem":138},"TinyAuth","\u002Ffr\u002Fserveex\u002Fsecurity\u002Ftinyauth","fr\u002F3.serveex\u002F3.security\u002F3.tinyauth",{"title":140,"path":141,"stem":142},"Pocket ID","\u002Ffr\u002Fserveex\u002Fsecurity\u002Fpocket-id","fr\u002F3.serveex\u002F3.security\u002F4.pocket-id",{"title":144,"icon":145,"path":146,"stem":147,"children":148,"page":15},"Monitoring","i-lucide-chart-no-axes-column","\u002Ffr\u002Fserveex\u002Fmonitoring","fr\u002F3.serveex\u002F4.monitoring",[149,153,157,161,165],{"title":150,"path":151,"stem":152},"Uptime-Kuma","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fuptime-kuma","fr\u002F3.serveex\u002F4.monitoring\u002F1.uptime-kuma",{"title":154,"path":155,"stem":156},"Dozzle","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fdozzle","fr\u002F3.serveex\u002F4.monitoring\u002F2.dozzle",{"title":158,"path":159,"stem":160},"Speedtest Tracker","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fspeedtest-tracker","fr\u002F3.serveex\u002F4.monitoring\u002F3.speedtest-tracker",{"title":162,"path":163,"stem":164},"Beszel","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fbeszel","fr\u002F3.serveex\u002F4.monitoring\u002F4.beszel",{"title":166,"path":167,"stem":168},"UpSnap","\u002Ffr\u002Fserveex\u002Fmonitoring\u002Fupsnap","fr\u002F3.serveex\u002F4.monitoring\u002F5.upsnap",{"title":170,"icon":171,"path":172,"stem":173,"children":174,"page":15},"Média & Seedbox","i-lucide-list-video","\u002Ffr\u002Fserveex\u002Fmedia","fr\u002F3.serveex\u002F5.media",[175,179,183],{"title":176,"path":177,"stem":178},"Jellyfin","\u002Ffr\u002Fserveex\u002Fmedia\u002Fjellyfin","fr\u002F3.serveex\u002F5.media\u002F1.jellyfin",{"title":180,"path":181,"stem":182},"qBittorrent","\u002Ffr\u002Fserveex\u002Fmedia\u002Fqbittorrent","fr\u002F3.serveex\u002F5.media\u002F2.qbittorrent",{"title":184,"path":185,"stem":186},"Automatisation","\u002Ffr\u002Fserveex\u002Fmedia\u002Fservarr","fr\u002F3.serveex\u002F5.media\u002F3.servarr",{"title":188,"icon":189,"path":190,"stem":191,"children":192,"page":15},"Cloud & Photos","i-lucide-cloud-upload","\u002Ffr\u002Fserveex\u002Fcloud","fr\u002F3.serveex\u002F6.cloud",[193,197],{"title":194,"path":195,"stem":196},"Immich","\u002Ffr\u002Fserveex\u002Fcloud\u002Fimmich","fr\u002F3.serveex\u002F6.cloud\u002F1.immich",{"title":198,"path":199,"stem":200},"Nextcloud","\u002Ffr\u002Fserveex\u002Fcloud\u002Fnextcloud","fr\u002F3.serveex\u002F6.cloud\u002F2.nextcloud",{"title":202,"icon":203,"path":204,"stem":205,"children":206,"page":15},"Fichiers & partage","i-lucide-folder-tree","\u002Ffr\u002Fserveex\u002Ffiles","fr\u002F3.serveex\u002F7.files",[207,211],{"title":208,"path":209,"stem":210},"File Browser Quantum","\u002Ffr\u002Fserveex\u002Ffiles\u002Ffile-browser-quantum","fr\u002F3.serveex\u002F7.files\u002F1.file-browser-quantum",{"title":212,"path":213,"stem":214},"Pingvin","\u002Ffr\u002Fserveex\u002Ffiles\u002Fpingvin","fr\u002F3.serveex\u002F7.files\u002F2.pingvin",{"title":216,"icon":217,"path":218,"stem":219,"children":220,"page":15},"Développement","i-lucide-code-xml","\u002Ffr\u002Fserveex\u002Fdevelopment","fr\u002F3.serveex\u002F8.development",[221,225,229],{"title":222,"path":223,"stem":224},"Code-Serveur","\u002Ffr\u002Fserveex\u002Fdevelopment\u002Fcode-server","fr\u002F3.serveex\u002F8.development\u002F1.code-server",{"title":226,"path":227,"stem":228},"Forgejo","\u002Ffr\u002Fserveex\u002Fdevelopment\u002Fforgejo","fr\u002F3.serveex\u002F8.development\u002F2.forgejo",{"title":230,"path":231,"stem":232},"IT Tools","\u002Ffr\u002Fserveex\u002Fdevelopment\u002Fit-tools","fr\u002F3.serveex\u002F8.development\u002F3.it-tools",{"title":234,"icon":235,"path":236,"stem":237,"children":238,"page":15},"Applications utiles","i-lucide-award","\u002Ffr\u002Fserveex\u002Fapps","fr\u002F3.serveex\u002F9.apps",[239,243],{"title":240,"path":241,"stem":242},"AdGuard Home","\u002Ffr\u002Fserveex\u002Fapps\u002Fadguard","fr\u002F3.serveex\u002F9.apps\u002F1.adguard",{"title":244,"path":245,"stem":246},"Vaultwarden","\u002Ffr\u002Fserveex\u002Fapps\u002Fvaultwarden","fr\u002F3.serveex\u002F9.apps\u002F2.vaultwarden",{"title":248,"icon":249,"path":250,"stem":251,"children":252,"page":15},"Avancé","i-lucide-flask-conical","\u002Ffr\u002Fserveex\u002Fadvanced","fr\u002F3.serveex\u002F91.advanced",[253,257,261,265],{"title":254,"path":255,"stem":256},"Authentik","\u002Ffr\u002Fserveex\u002Fadvanced\u002Fauthentik","fr\u002F3.serveex\u002F91.advanced\u002F1.authentik",{"title":258,"path":259,"stem":260},"Arcane","\u002Ffr\u002Fserveex\u002Fadvanced\u002Farcane","fr\u002F3.serveex\u002F91.advanced\u002F2.arcane",{"title":262,"path":263,"stem":264},"Backrest","\u002Ffr\u002Fserveex\u002Fadvanced\u002Fbackrest","fr\u002F3.serveex\u002F91.advanced\u002F3.backrest",{"title":266,"path":267,"stem":268},"Snapshots BTRFS","\u002Ffr\u002Fserveex\u002Fadvanced\u002Fbtrfs-snapshots","fr\u002F3.serveex\u002F91.advanced\u002F4.btrfs-snapshots",{"title":270,"icon":271,"path":272,"stem":273,"children":274,"page":15},"Stockeex","i-noto-computer-disk","\u002Ffr\u002Fstockeex","fr\u002F4.stockeex",[275],{"title":270,"path":276,"stem":277,"icon":25},"\u002Ffr\u002Fstockeex\u002Fintroduction","fr\u002F4.stockeex\u002F1.introduction",{"title":279,"icon":280,"path":281,"stem":282,"children":283,"page":15},"Mes bêtises","i-noto-test-tube","\u002Ffr\u002Fnonsense","fr\u002F5.nonsense",[284,287,309],{"title":279,"path":285,"stem":286,"icon":25},"\u002Ffr\u002Fnonsense\u002Fsummary","fr\u002F5.nonsense\u002F1.summary",{"title":288,"icon":289,"path":290,"stem":291,"children":292,"page":15},"Python","i-lucide-file-code-2","\u002Ffr\u002Fnonsense\u002Fpython","fr\u002F5.nonsense\u002F2.python",[293,297,301,305],{"title":294,"path":295,"stem":296},"Nvidia Stock Bot","\u002Ffr\u002Fnonsense\u002Fpython\u002Fnvidia-stock-bot","fr\u002F5.nonsense\u002F2.python\u002F1.nvidia-stock-bot",{"title":298,"path":299,"stem":300},"AdGuard CIDRE","\u002Ffr\u002Fnonsense\u002Fpython\u002Fadguard-cidre","fr\u002F5.nonsense\u002F2.python\u002F2.adguard-cidre",{"title":302,"path":303,"stem":304},"Lumeex","\u002Ffr\u002Fnonsense\u002Fpython\u002Flumeex","fr\u002F5.nonsense\u002F2.python\u002F3.lumeex",{"title":306,"path":307,"stem":308},"Instameex","\u002Ffr\u002Fnonsense\u002Fpython\u002Finstameex","fr\u002F5.nonsense\u002F2.python\u002F4.instameex",{"title":310,"icon":311,"path":312,"stem":313,"children":314,"page":15},"Bash","i-lucide-file-terminal","\u002Ffr\u002Fnonsense\u002Fbash","fr\u002F5.nonsense\u002F3.bash",[315,319,323,327,331,335],{"title":316,"path":317,"stem":318},"Doublons servarr","\u002Ffr\u002Fnonsense\u002Fbash\u002Fservarr-duplicates","fr\u002F5.nonsense\u002F3.bash\u002F1.servarr-duplicates",{"title":320,"path":321,"stem":322},"Luks backup","\u002Ffr\u002Fnonsense\u002Fbash\u002Fluks-backup","fr\u002F5.nonsense\u002F3.bash\u002F2.luks-backup",{"title":324,"path":325,"stem":326},"Socat Proxy","\u002Ffr\u002Fnonsense\u002Fbash\u002Fsocat-proxy","fr\u002F5.nonsense\u002F3.bash\u002F3.socat-proxy",{"title":328,"path":329,"stem":330},"HotDisk","\u002Ffr\u002Fnonsense\u002Fbash\u002Fhotdisk","fr\u002F5.nonsense\u002F3.bash\u002F4.hotdisk",{"title":332,"path":333,"stem":334},"Backrest Docker Stop","\u002Ffr\u002Fnonsense\u002Fbash\u002Fbackrest-docker-stop","fr\u002F5.nonsense\u002F3.bash\u002F5.backrest-docker-stop",{"title":336,"path":337,"stem":338},"rm Confirmation Guard","\u002Ffr\u002Fnonsense\u002Fbash\u002Frm-confirmation","fr\u002F5.nonsense\u002F3.bash\u002F6.rm-confirmation",{"title":340,"icon":341,"path":342,"stem":343,"children":344,"page":15},"Recyclage","i-noto-recycling-symbol","\u002Ffr\u002Frecycled","fr\u002F6.recycled",[345,348,362],{"title":340,"path":346,"stem":347,"icon":25},"\u002Ffr\u002Frecycled\u002Fsummary","fr\u002F6.recycled\u002F1.summary",{"title":349,"icon":350,"path":351,"stem":352,"children":353,"page":15},"Obsolète","i-lucide-trash-2","\u002Ffr\u002Frecycled\u002Fdeprecated","fr\u002F6.recycled\u002F2.deprecated",[354,358],{"title":355,"path":356,"stem":357},"WireGuard 14","\u002Ffr\u002Frecycled\u002Fdeprecated\u002Fwireguard-14","fr\u002F6.recycled\u002F2.deprecated\u002F1.wireguard-14",{"title":359,"path":360,"stem":361},"File Browser","\u002Ffr\u002Frecycled\u002Fdeprecated\u002Ffile-browser","fr\u002F6.recycled\u002F2.deprecated\u002F2.file-browser",{"title":363,"icon":364,"path":365,"stem":366,"children":367,"page":15},"Alternatives","i-lucide-arrow-left-right","\u002Ffr\u002Frecycled\u002Falternatives","fr\u002F6.recycled\u002F3.alternatives",[368,372,376,380],{"title":369,"path":370,"stem":371},"Plex","\u002Ffr\u002Frecycled\u002Falternatives\u002Fplex","fr\u002F6.recycled\u002F3.alternatives\u002F1.plex",{"title":373,"path":374,"stem":375},"qBittorrent pour Plex","\u002Ffr\u002Frecycled\u002Falternatives\u002Fqbittorrent-for-plex","fr\u002F6.recycled\u002F3.alternatives\u002F2.qbittorrent-for-plex",{"title":377,"path":378,"stem":379},"Servarr pour Plex","\u002Ffr\u002Frecycled\u002Falternatives\u002Fservarr-for-plex","fr\u002F6.recycled\u002F3.alternatives\u002F3.servarr-for-plex",{"title":381,"path":382,"stem":383},"Gitea","\u002Ffr\u002Frecycled\u002Falternatives\u002Fgitea","fr\u002F6.recycled\u002F3.alternatives\u002F4.gitea",{"id":385,"title":262,"body":386,"contributors":1479,"description":1480,"extension":1481,"hideCopyPage":15,"hideHeader":15,"hideToc":15,"links":1482,"meta":1483,"navigation":1484,"path":263,"seo":1485,"stem":264,"__hash__":1486},"docs_fr\u002Ffr\u002F3.serveex\u002F91.advanced\u002F3.backrest.md",{"type":387,"value":388,"toc":1460},"minimark",[389,397,408,417,424,429,432,440,462,465,493,501,505,508,523,526,530,534,854,858,864,871,925,939,943,953,961,964,971,975,978,981,1028,1031,1054,1057,1063,1076,1080,1083,1087,1094,1101,1107,1110,1150,1154,1157,1160,1166,1169,1175,1177,1209,1212,1216,1222,1276,1280,1287,1390,1393,1403,1407,1422,1429,1450,1456],[390,391],"ellipsis",{"blur":392,"left":393,"top":394,"width":395,"z-index":396},"140px","0px","10rem","40rem","60",[398,399,400,401,407],"p",{},"Soyons honnêtes deux secondes : la \"stratégie de sauvegarde\" de la plupart des homelabbers, c'est avoir copié quelques dossiers sur une clé USB une fois en 2019, et espérer que tout ira bien. ",[402,403,262],"a",{"href":404,"rel":405},"https:\u002F\u002Fgithub.com\u002Fgarethgeorge\u002Fbackrest",[406],"nofollow"," est là pour arranger ça, sans vous forcer à apprendre un outil en ligne de commande qui fait peur.",[398,409,410,411,416],{},"Sous le capot, Backrest est une interface web propre posée sur ",[402,412,415],{"href":413,"rel":414},"https:\u002F\u002Frestic.net\u002F",[406],"restic",", un moteur de sauvegarde open-source qui a fait ses preuves. Restic fait le vrai travail (chiffrer, dédupliquer, et envoyer vos données là où vous le lui dites) ; Backrest vous donne des boutons et des formulaires plutôt qu'un mur d'options à retenir.",[398,418,419],{},[420,421],"img",{"alt":422,"src":423},"Tableau de bord de Backrest, montrant plusieurs dépôts et leur activité de sauvegarde récente","\u002Fimg\u002Fserveex\u002Fbackrest-dashboard.png",[425,426,428],"h2",{"id":427},"la-règle-du-3-2-1-ou-pourquoi-une-seule-sauvegarde-nen-est-pas-une","La règle du 3-2-1, ou pourquoi une seule sauvegarde n'en est pas une",[398,430,431],{},"Avant d'installer quoi que ce soit, parlons de la règle qui compte vraiment ici, parce qu'une sauvegarde mal pensée vous donne une fausse confiance, ce qui est pire que pas de sauvegarde du tout.",[398,433,434,435,439],{},"La ",[436,437,438],"strong",{},"règle du 3-2-1"," dit :",[441,442,443,450,456],"ul",{},[444,445,446,449],"li",{},[436,447,448],{},"3"," copies de vos données : l'originale, plus au moins deux sauvegardes.",[444,451,452,455],{},[436,453,454],{},"2"," types de stockage différents : pas deux copies sur le même disque, ni sur deux disques dans la même machine.",[444,457,458,461],{},[436,459,460],{},"1"," copie hors site : physiquement ailleurs, pas dans la même pièce, la même maison ou le même bâtiment que l'original.",[398,463,464],{},"Chaque chiffre ferme un scénario de panne précis :",[441,466,467,479,486],{},[444,468,469,470,473,474,478],{},"Une seule ",[436,471,472],{},"(1)"," sauvegarde ? Une seule erreur (un ",[475,476,477],"code",{},"rm -rf"," malheureux, une restauration ratée, un fichier corrompu copié par-dessus le bon sans que vous le voyiez) peut emporter votre seul filet de sécurité en même temps que l'original.",[444,480,481,482,485],{},"Des sauvegardes sur le ",[436,483,484],{},"même type de stockage"," (disons, un second disque interne dans le même serveur) ? Une surtension, un bug de firmware, ou une alimentation bas de gamme qui lâche peuvent très bien emporter tous les disques du boîtier d'un coup.",[444,487,488,489,492],{},"Pas de copie ",[436,490,491],{},"hors site"," ? Un incendie, une inondation, un vol, ou \"j'ai débranché la mauvaise multiprise\" se moquent du nombre de disques que vous avez, s'ils sont tous dans la même pièce.",[398,494,495,496,500],{},"C'est aussi exactement pour ça que ",[402,497,499],{"href":498},"\u002Fgeneral\u002Fstorage\u002Fraid","le RAID n'est pas une sauvegarde"," : le RAID garde un service en marche quand un disque meurt, il ne fait rien contre un ransomware qui chiffre tous les fichiers qu'il peut atteindre, une suppression malheureuse, ou votre maison qui prend feu. Backrest, pointé vers une destination en dehors de votre serveur, est ce qui couvre réellement ces cas-là.",[425,502,504],{"id":503},"ce-que-backrest-sauvegarde-et-où","Ce que Backrest sauvegarde, et où",[398,506,507],{},"Deux concepts à connaître avant de cliquer partout :",[441,509,510,517],{},[444,511,512,513,516],{},"Un ",[436,514,515],{},"dépôt"," (repository) est la destination : un espace de stockage chiffré et dédupliqué. C'est votre \"2\" et votre \"1\" de la règle ci-dessus, un disque externe, un autre serveur, ou du stockage cloud.",[444,518,512,519,522],{},[436,520,521],{},"plan"," est la règle que vous définissez : quels dossiers sauvegarder, vers quel dépôt, selon quel planning, et combien d'anciens instantanés (snapshots) conserver.",[398,524,525],{},"Vous pouvez avoir plusieurs plans sauvegardant vers plusieurs dépôts en même temps, ce qui est exactement comment on construit un vrai 3-2-1 : un plan vers un dépôt local pour des restaurations rapides, un autre plan vers un dépôt hors site pour le scénario \"ma maison brûle\".",[425,527,529],{"id":528},"installation","Installation",[531,532],"file-tree",{":tree":533},"{\"\u002F\":[{\"srv\":[{\"docker\":[{\"backrest\":[\"data\u002F\",\"config\u002F\",\"cache\u002F\",\"compose.yaml\"]}]}]}]}",[535,536,537,542,553,752,790,797,843,850],"steps",{"level":448},[538,539,541],"h3",{"id":540},"déployer-la-stack","Déployer la stack",[398,543,544,545,548,549,552],{},"Ouvrez Dockge, cliquez sur ",[475,546,547],{},"compose",", nommez la stack ",[475,550,551],{},"backrest",", et collez ce qui suit :",[554,555,561],"pre",{"className":556,"code":557,"filename":558,"language":559,"meta":560,"style":560},"language-yaml shiki shiki-themes github-dark material-theme github-dark","---\nservices:\n  backrest:\n    image: garethgeorge\u002Fbackrest:latest\n    container_name: backrest\n    restart: unless-stopped\n    ports:\n      - 9898:9898\n    volumes:\n      - .\u002Fdata:\u002Fdata\n      - .\u002Fconfig:\u002Fconfig\n      - .\u002Fcache:\u002Fcache\n      # Tout ce que vous voulez que Backrest puisse sauvegarder doit\n      # aussi être monté ici : la stack ne voit que ce qu'on lui donne.\n      - \u002Fsrv\u002Fdocker:\u002Fuserdata\u002Fdocker:ro\n      - \u002Fetc:\u002Fuserdata\u002Fetc:ro\n      - \u002Fhome:\u002Fuserdata\u002Fhome:ro\n    environment:\n      - BACKREST_DATA=\u002Fdata\n      - BACKREST_CONFIG=\u002Fconfig\u002Fconfig.json\n      - XDG_CACHE_HOME=\u002Fcache\n      - TZ=Europe\u002FParis\n","compose.yaml","yaml","",[475,562,563,572,583,591,604,615,626,634,643,651,659,667,675,682,688,696,704,712,720,728,736,744],{"__ignoreMap":560},[564,565,568],"span",{"class":566,"line":567},"line",1,[564,569,571],{"class":570},"sEgDM","---\n",[564,573,575,579],{"class":566,"line":574},2,[564,576,578],{"class":577},"sRuoG","services",[564,580,582],{"class":581},"s8jd1",":\n",[564,584,586,589],{"class":566,"line":585},3,[564,587,588],{"class":577},"  backrest",[564,590,582],{"class":581},[564,592,594,597,600],{"class":566,"line":593},4,[564,595,596],{"class":577},"    image",[564,598,599],{"class":581},":",[564,601,603],{"class":602},"s11XM"," garethgeorge\u002Fbackrest:latest\n",[564,605,607,610,612],{"class":566,"line":606},5,[564,608,609],{"class":577},"    container_name",[564,611,599],{"class":581},[564,613,614],{"class":602}," backrest\n",[564,616,618,621,623],{"class":566,"line":617},6,[564,619,620],{"class":577},"    restart",[564,622,599],{"class":581},[564,624,625],{"class":602}," unless-stopped\n",[564,627,629,632],{"class":566,"line":628},7,[564,630,631],{"class":577},"    ports",[564,633,582],{"class":581},[564,635,637,640],{"class":566,"line":636},8,[564,638,639],{"class":581},"      -",[564,641,642],{"class":602}," 9898:9898\n",[564,644,646,649],{"class":566,"line":645},9,[564,647,648],{"class":577},"    volumes",[564,650,582],{"class":581},[564,652,654,656],{"class":566,"line":653},10,[564,655,639],{"class":581},[564,657,658],{"class":602}," .\u002Fdata:\u002Fdata\n",[564,660,662,664],{"class":566,"line":661},11,[564,663,639],{"class":581},[564,665,666],{"class":602}," .\u002Fconfig:\u002Fconfig\n",[564,668,670,672],{"class":566,"line":669},12,[564,671,639],{"class":581},[564,673,674],{"class":602}," .\u002Fcache:\u002Fcache\n",[564,676,678],{"class":566,"line":677},13,[564,679,681],{"class":680},"sDvJj","      # Tout ce que vous voulez que Backrest puisse sauvegarder doit\n",[564,683,685],{"class":566,"line":684},14,[564,686,687],{"class":680},"      # aussi être monté ici : la stack ne voit que ce qu'on lui donne.\n",[564,689,691,693],{"class":566,"line":690},15,[564,692,639],{"class":581},[564,694,695],{"class":602}," \u002Fsrv\u002Fdocker:\u002Fuserdata\u002Fdocker:ro\n",[564,697,699,701],{"class":566,"line":698},16,[564,700,639],{"class":581},[564,702,703],{"class":602}," \u002Fetc:\u002Fuserdata\u002Fetc:ro\n",[564,705,707,709],{"class":566,"line":706},17,[564,708,639],{"class":581},[564,710,711],{"class":602}," \u002Fhome:\u002Fuserdata\u002Fhome:ro\n",[564,713,715,718],{"class":566,"line":714},18,[564,716,717],{"class":577},"    environment",[564,719,582],{"class":581},[564,721,723,725],{"class":566,"line":722},19,[564,724,639],{"class":581},[564,726,727],{"class":602}," BACKREST_DATA=\u002Fdata\n",[564,729,731,733],{"class":566,"line":730},20,[564,732,639],{"class":581},[564,734,735],{"class":602}," BACKREST_CONFIG=\u002Fconfig\u002Fconfig.json\n",[564,737,739,741],{"class":566,"line":738},21,[564,740,639],{"class":581},[564,742,743],{"class":602}," XDG_CACHE_HOME=\u002Fcache\n",[564,745,747,749],{"class":566,"line":746},22,[564,748,639],{"class":581},[564,750,751],{"class":602}," TZ=Europe\u002FParis\n",[398,753,754,755,758,759,762,763,766,767,771,772,774,775,777,778,782,783,786,787,789],{},"Les lignes ",[475,756,757],{},"\u002Fsrv\u002Fdocker",", ",[475,760,761],{},"\u002Fetc"," et ",[475,764,765],{},"\u002Fhome"," ci-dessus couvrent ce qui vaut réellement la peine d'être sauvegardé hors site sur un serveur homelab, selon ",[402,768,770],{"href":769},"\u002Fgeneral\u002Flinux\u002Ffilesystem","dossiers et partitions"," : ",[475,773,757],{}," contient la config et les données de chaque stack (bases de données, fichiers uploadés, le coffre de Vaultwarden, les utilisateurs de Pocket ID, etc.), ",[475,776,761],{}," contient votre configuration système (le durcissement SSH du ",[402,779,781],{"href":780},"\u002Fserveex\u002Fcore\u002Finstallation#refermer-la-porte-derri%C3%A8re-vous","guide d'installation",", vos fichiers ",[475,784,785],{},".subdomain.conf"," de SWAG, les unités systemd), et ",[475,788,765],{}," contient vos propres scripts et notes. Les trois sont montées en lecture seule, un outil de sauvegarde n'a aucune raison d'écrire dans ce qu'il sauvegarde.",[398,791,792,793,796],{},"Ce qui ne vaut généralement ",[436,794,795],{},"pas"," le coup : une grosse bibliothèque média ou un dossier de téléchargement torrent sur un disque de données séparé. C'est souvent énorme, remplaçable, et rarement justifié de payer du stockage cloud ou de la bande passante SSH pour le protéger.",[798,799,800,807],"tip",{"icon":560},[398,801,802,803,806],{},"✨ ",[436,804,805],{},"Astuce :"," ajoutez le label Watchtower pour automatiser les mises à jour",[554,808,810],{"className":556,"code":809,"filename":558,"language":559,"meta":560,"style":560},"services:\n  backrest:\n    #...\n    labels:\n      - com.centurylinklabs.watchtower.enable=true\n",[475,811,812,818,824,829,836],{"__ignoreMap":560},[564,813,814,816],{"class":566,"line":567},[564,815,578],{"class":577},[564,817,582],{"class":581},[564,819,820,822],{"class":566,"line":574},[564,821,588],{"class":577},[564,823,582],{"class":581},[564,825,826],{"class":566,"line":585},[564,827,828],{"class":680},"    #...\n",[564,830,831,834],{"class":566,"line":593},[564,832,833],{"class":577},"    labels",[564,835,582],{"class":581},[564,837,838,840],{"class":566,"line":606},[564,839,639],{"class":581},[564,841,842],{"class":602}," com.centurylinklabs.watchtower.enable=true\n",[398,844,845,846,849],{},"Déployez le conteneur, puis ouvrez ",[475,847,848],{},"http:\u002F\u002Fipdevotreserveur:9898",". La première visite vous demande de définir un identifiant et un mot de passe administrateur : faites-le immédiatement, Backrest n'a pas de compte par défaut et l'écran de configuration est grand ouvert tant que vous ne l'avez pas fait.",[538,851,853],{"id":852},"terminé","Terminé !",[425,855,857],{"id":856},"créer-votre-premier-dépôt","Créer votre premier dépôt",[398,859,860],{},[420,861],{"alt":862,"src":863},"Formulaire \"Add Restic Repository\" de Backrest, montrant une URI de dépôt Backblaze B2","\u002Fimg\u002Fserveex\u002Fbackrest.png",[398,865,866,867,870],{},"Dans Backrest, allez dans ",[436,868,869],{},"Add Repo",". Le formulaire est découpé en plusieurs sections, voici ce que fait chaque champ :",[441,872,873,887,893,899,905,919],{},[444,874,875,878,879,882,883,886],{},[436,876,877],{},"Repo Name"," : ce qui vous aidera à le reconnaître plus tard, ",[475,880,881],{},"cle-usb"," ou ",[475,884,885],{},"vps-hors-site"," par exemple. Impossible de le renommer ensuite, choisissez quelque chose que vous ne regretterez pas.",[444,888,889,892],{},[436,890,891],{},"Auto Unlock"," : laissez désactivé sauf si vous comprenez bien ce que ça fait. Restic verrouille un dépôt pendant qu'il y travaille, pour qu'un second processus ne corrompe pas tout en écrivant en même temps. Auto Unlock retire ce verrou automatiquement au démarrage, pratique si Backrest a planté en pleine sauvegarde et laissé un verrou fantôme, mais réellement dangereux si deux machines écrivent un jour dans le même dépôt en même temps. Pour la configuration mono-serveur de cet article, c'est un confort mineur ; laissez désactivé en cas de doute.",[444,894,895,898],{},[436,896,897],{},"Shared"," : ne concerne que la fonctionnalité multihost de Backrest (plusieurs de vos machines gérant la même configuration de dépôt). Ignorez-le pour un serveur unique.",[444,900,901,904],{},[436,902,903],{},"Repository URI"," : là où les données vivent réellement. C'est ce champ qui change pour chaque destination ci-dessous.",[444,906,907,910,911,914,915,918],{},[436,908,909],{},"Password"," : le mot de passe de chiffrement de ce dépôt, cliquez sur ",[436,912,913],{},"Generate"," pour en générer un solide aléatoirement. ",[436,916,917],{},"Conservez-le quelque part en dehors de ce serveur",", un gestionnaire de mots de passe, une note sur votre téléphone, n'importe où sauf un fichier texte posé à côté des sauvegardes qu'il protège. Perdez-le, et chaque sauvegarde devient un tas de bruit illisible et coûteux, sans exception, même pour les développeurs de restic.",[444,920,921,924],{},[436,922,923],{},"Env Vars"," : là où vous collerez les identifiants pour les destinations qui en ont besoin (S3 et B2 plus bas). Un disque local et le SFTP n'en ont besoin d'aucun.",[926,927,928,929,758,932,762,935,938],"note",{},"Les onglets ",[436,930,931],{},"Scheduling",[436,933,934],{},"Hooks",[436,936,937],{},"Advanced"," de ce formulaire configurent la maintenance du dépôt dans son ensemble (purge des anciennes données, vérification d'intégrité, notifications) plutôt que quoi que ce soit de spécifique à une destination. Ils sont couverts à la fin de cet article, une fois que vous avez un dépôt qui fonctionne réellement.",[538,940,942],{"id":941},"sauvegarder-vers-un-disque-local-ou-une-clé-usb","Sauvegarder vers un disque local ou une clé USB",[398,944,945,946,948,949,952],{},"La copie hors site la plus simple qui soit est un disque que vous déplacez physiquement ailleurs après chaque sauvegarde, ou le disque d'une seconde machine joint par le réseau. Dans les deux cas, du point de vue de Backrest c'est juste un dossier, donc la configuration est identique : branchez le disque (ou montez le partage réseau) sur l'hôte, ajoutez-le aux volumes du fichier compose comme vous l'avez fait pour ",[475,947,757],{}," plus haut, puis dans le champ Repository URI, utilisez le chemin tel qu'il apparaît ",[436,950,951],{},"à l'intérieur du conteneur"," :",[554,954,959],{"className":955,"code":957,"language":958,"meta":560},[956],"language-text","\u002Fuserdata\u002Fdisque-sauvegarde\n","text",[475,960,957],{"__ignoreMap":560},[398,962,963],{},"Voilà, aucun identifiant, aucune variable d'environnement. C'est aussi le dépôt le plus rapide pour restaurer, puisqu'il n'y a aucun aller-retour réseau, ce qui en fait un excellent choix pour votre copie de \"récupération rapide\", accompagnée d'une vraie copie hors site ci-dessous pour le scénario \"ma maison brûle\".",[965,966,967,970],"caution",{},[436,968,969],{},"Si ça ne marche pas :"," le chemin doit exister et être accessible en écriture par le conteneur avant de valider le formulaire. Un dossier vide convient très bien, restic initialise lui-même la structure du dépôt à la première utilisation.",[538,972,974],{"id":973},"sauvegarder-vers-un-autre-serveur","Sauvegarder vers un autre serveur",[398,976,977],{},"Pas de compte cloud, pas de problème : si vous avez un accès SSH à une autre machine, le serveur d'un ami, un petit VPS pas cher, un Raspberry Pi chez de la famille, c'est un dépôt hors site parfaitement valable, et ça ne coûte que ce que cette machine vous coûte déjà.",[398,979,980],{},"D'abord, assurez-vous que ce serveur peut se connecter en SSH à l'autre sans taper de mot de passe à chaque fois :",[554,982,987],{"className":983,"code":984,"filename":985,"language":986,"meta":560,"style":560},"language-bash shiki shiki-themes github-dark material-theme github-dark","ssh-keygen -t ed25519 -f \u002Fsrv\u002Fdocker\u002Fbackrest\u002Fconfig\u002Fid_ed25519 -N \"\"\nssh-copy-id -i \u002Fsrv\u002Fdocker\u002Fbackrest\u002Fconfig\u002Fid_ed25519.pub votreutilisateur@lautreserveur\n","Terminal","bash",[475,988,989,1014],{"__ignoreMap":560},[564,990,991,994,998,1001,1004,1007,1010],{"class":566,"line":567},[564,992,993],{"class":570},"ssh-keygen",[564,995,997],{"class":996},"sJWha"," -t",[564,999,1000],{"class":602}," ed25519",[564,1002,1003],{"class":996}," -f",[564,1005,1006],{"class":602}," \u002Fsrv\u002Fdocker\u002Fbackrest\u002Fconfig\u002Fid_ed25519",[564,1008,1009],{"class":996}," -N",[564,1011,1013],{"class":1012},"s8K8j"," \"\"\n",[564,1015,1016,1019,1022,1025],{"class":566,"line":574},[564,1017,1018],{"class":570},"ssh-copy-id",[564,1020,1021],{"class":996}," -i",[564,1023,1024],{"class":602}," \u002Fsrv\u002Fdocker\u002Fbackrest\u002Fconfig\u002Fid_ed25519.pub",[564,1026,1027],{"class":602}," votreutilisateur@lautreserveur\n",[398,1029,1030],{},"Montez cette clé dans le conteneur en l'ajoutant aux volumes du fichier compose :",[554,1032,1034],{"className":556,"code":1033,"filename":558,"language":559,"meta":560,"style":560},"    volumes:\n      # ...\n      - .\u002Fconfig\u002Fid_ed25519:\u002Froot\u002F.ssh\u002Fid_ed25519:ro\n",[475,1035,1036,1042,1047],{"__ignoreMap":560},[564,1037,1038,1040],{"class":566,"line":567},[564,1039,648],{"class":577},[564,1041,582],{"class":581},[564,1043,1044],{"class":566,"line":574},[564,1045,1046],{"class":680},"      # ...\n",[564,1048,1049,1051],{"class":566,"line":585},[564,1050,639],{"class":581},[564,1052,1053],{"class":602}," .\u002Fconfig\u002Fid_ed25519:\u002Froot\u002F.ssh\u002Fid_ed25519:ro\n",[398,1055,1056],{},"Redéployez la stack, puis dans Backrest utilisez :",[554,1058,1061],{"className":1059,"code":1060,"language":958,"meta":560},[956],"sftp:votreutilisateur@lautreserveur:\u002Fchemin\u002Fvers\u002Fles\u002Fsauvegardes\n",[475,1062,1060],{"__ignoreMap":560},[965,1064,1065,1067,1068,1071,1072,1075],{},[436,1066,969],{}," le dossier cible (",[475,1069,1070],{},"\u002Fchemin\u002Fvers\u002Fles\u002Fsauvegardes"," ci-dessus) doit déjà exister sur l'autre serveur, et cet utilisateur doit avoir le droit d'y écrire. Connectez-vous une fois à la main (",[475,1073,1074],{},"ssh votreutilisateur@lautreserveur",") pour confirmer que la connexion fonctionne et accepter la clé de l'hôte, Backrest tournant dans un conteneur n'aura pas l'invite interactive pour ça.",[425,1077,1079],{"id":1078},"avancé-stockage-objet-dans-le-cloud","Avancé : stockage objet dans le cloud",[398,1081,1082],{},"Un disque local ou le serveur de secours d'un ami couvre très bien la règle du 3-2-1, et ne coûte rien de plus que ce que vous possédez déjà. Le stockage objet dans le cloud est l'autre option classique, intéressante quand vous voulez une copie hors site qui ne dépend pas du matériel de quelqu'un d'autre restant allumé, pour un coût de quelques centimes à quelques euros par mois selon ce que vous sauvegardez.",[538,1084,1086],{"id":1085},"backblaze-b2","Backblaze B2",[398,1088,1089,1093],{},[402,1090,1086],{"href":1091,"rel":1092},"https:\u002F\u002Fwww.backblaze.com\u002Fcloud-storage",[406]," est du stockage objet pensé exactement pour cet usage, et c'est généralement l'option la moins chère pour le schéma \"on écrit souvent, on lit rarement\" d'une sauvegarde.",[398,1095,1096,1097,1100],{},"Créez un bucket dans votre compte Backblaze, puis générez une ",[436,1098,1099],{},"clé d'application"," limitée à celui-ci. Dans Backrest, utilisez :",[554,1102,1105],{"className":1103,"code":1104,"language":958,"meta":560},[956],"b2:nom-de-votre-bucket:backrest\n",[475,1106,1104],{"__ignoreMap":560},[398,1108,1109],{},"Avec les variables d'environnement suivantes :",[1111,1112,1113,1126],"table",{},[1114,1115,1116],"thead",{},[1117,1118,1119,1123],"tr",{},[1120,1121,1122],"th",{},"Variable",[1120,1124,1125],{},"Valeur",[1127,1128,1129,1140],"tbody",{},[1117,1130,1131,1137],{},[1132,1133,1134],"td",{},[475,1135,1136],{},"B2_ACCOUNT_ID",[1132,1138,1139],{},"L'identifiant de la clé d'application",[1117,1141,1142,1147],{},[1132,1143,1144],{},[475,1145,1146],{},"B2_ACCOUNT_KEY",[1132,1148,1149],{},"La clé d'application elle-même",[538,1151,1153],{"id":1152},"stockage-compatible-s3","Stockage compatible S3",[398,1155,1156],{},"S3 n'est pas juste un truc Amazon, c'est un protocole de stockage que la plupart des fournisseurs cloud parlent (OVH, Scaleway, MinIO si vous auto-hébergez le vôtre, et bien d'autres), ce qui en fait un choix solide et portable si vous préférez ne pas dépendre d'un fournisseur en particulier.",[398,1158,1159],{},"Créez un bucket chez le fournisseur de votre choix, puis dans le champ Repository URI de Backrest, utilisez :",[554,1161,1164],{"className":1162,"code":1163,"language":958,"meta":560},[956],"s3:https:\u002F\u002Fs3.votre-fournisseur.com\u002Fnom-de-votre-bucket\u002Fbackrest\n",[475,1165,1163],{"__ignoreMap":560},[398,1167,1168],{},"Pour du vrai AWS S3, retirez le endpoint personnalisé :",[554,1170,1173],{"className":1171,"code":1172,"language":958,"meta":560},[956],"s3:s3.amazonaws.com\u002Fnom-de-votre-bucket\u002Fbackrest\n",[475,1174,1172],{"__ignoreMap":560},[398,1176,1109],{},[1111,1178,1179,1187],{},[1114,1180,1181],{},[1117,1182,1183,1185],{},[1120,1184,1122],{},[1120,1186,1125],{},[1127,1188,1189,1199],{},[1117,1190,1191,1196],{},[1132,1192,1193],{},[475,1194,1195],{},"AWS_ACCESS_KEY_ID",[1132,1197,1198],{},"La clé d'accès de votre fournisseur",[1117,1200,1201,1206],{},[1132,1202,1203],{},[475,1204,1205],{},"AWS_SECRET_ACCESS_KEY",[1132,1207,1208],{},"La clé secrète de votre fournisseur",[926,1210,1211],{},"Générez ces clés depuis le tableau de bord de votre fournisseur, généralement sous un intitulé du genre \"Clés API\" ou \"Identifiants S3\", limitées à ce seul bucket si le fournisseur le permet. Il n'y a aucune raison que la clé d'un job de sauvegarde puisse toucher à autre chose sur votre compte.",[538,1213,1215],{"id":1214},"maintenance-du-dépôt-optionnel-mais-à-mettre-en-place-une-fois-pour-toutes","Maintenance du dépôt (optionnel, mais à mettre en place une fois pour toutes)",[398,1217,1218,1219,1221],{},"Retour dans l'onglet ",[436,1220,931],{},", trois politiques gardent un dépôt en bonne santé dans le temps. Aucune n'est nécessaire pour commencer à sauvegarder, restic fonctionne très bien sans jamais y toucher, mais elles valent la peine d'être comprises une fois que votre dépôt tourne depuis un moment :",[1223,1224,1226,1254],"collapsible",{"name":1225},"les trois politiques de maintenance",[441,1227,1228,1238,1248],{},[444,1229,1230,1233,1234,1237],{},[436,1231,1232],{},"Prune Policy"," : supprime les données qui ne sont plus référencées par aucun instantané (parce que les anciens instantanés qui les contenaient ont été oubliés, voir la politique de rétention plus bas). C'est la seule opération qui libère réellement de l'espace sur votre stockage. C'est lent et ça lit beaucoup de données, donc planifiez-la rarement, une fois par mois est la suggestion de Backrest lui-même. ",[436,1235,1236],{},"Max Unused After Prune"," contrôle à quel point c'est minutieux : un pourcentage plus élevé laisse plus de données inutilisées derrière mais termine plus vite et copie moins.",[444,1239,1240,1243,1244,1247],{},[436,1241,1242],{},"Check Policy"," : vérifie que votre dépôt n'est pas silencieusement corrompu. ",[436,1245,1246],{},"Read Data %"," contrôle quelle proportion des données réellement sauvegardées est relue et vérifiée par somme de contrôle, pas juste la structure interne du dépôt. 100% signifie relire l'intégralité du dépôt, ce qui consomme de la bande passante et du temps réels ; un pourcentage plus faible vérifie un échantillon aléatoire à la place. Une fois par mois est, encore une fois, un défaut raisonnable.",[444,1249,1250,1253],{},[436,1251,1252],{},"Forget Policy"," : une règle de rétention optionnelle pour tout le dépôt, appliquée à travers tous les plans qui y écrivent au lieu d'être par plan. Laissez-la désactivée sauf si vous voulez spécifiquement une seule politique de rétention partagée par plusieurs plans, elle désactive la politique de rétention propre à chaque plan dès que vous l'activez.",[398,1255,1256,1257,771,1260,1263,1264,1267,1268,1271,1272,1275],{},"Chacune de ces politiques a un ",[436,1258,1259],{},"Schedule Type",[475,1261,1262],{},"Disabled",", un simple ",[475,1265,1266],{},"Interval"," en heures ou en jours, ou une ",[475,1269,1270],{},"Cron Expression"," pour quelque chose de plus précis, plus une ",[436,1273,1274],{},"Reference Clock"," (l'heure locale de votre serveur, UTC, ou relative à la dernière exécution) pour ancrer ce planning.",[425,1277,1279],{"id":1278},"créer-un-plan-de-sauvegarde","Créer un plan de sauvegarde",[398,1281,1282,1283,1286],{},"Retour dans Backrest, allez dans ",[436,1284,1285],{},"Add Plan",". Ce formulaire couvre quoi sauvegarder et quand, contrairement au formulaire de dépôt ci-dessus, qui ne couvre que où :",[441,1288,1289,1295,1301,1330,1339,1357,1375],{},[444,1290,1291,1294],{},[436,1292,1293],{},"Plan Name"," : même règle que le nom du dépôt, choisissez quelque chose de clair, impossible à changer ensuite.",[444,1296,1297,1300],{},[436,1298,1299],{},"Repository"," : celui que vous venez de créer plus haut.",[444,1302,1303,1306,1307,1310,1311,1314,1315,1318,1319,1322,1323,1325,1326,1329],{},[436,1304,1305],{},"Paths"," : cliquez sur ",[436,1308,1309],{},"Add"," pour ajouter une ligne, puis tapez le chemin côté conteneur de ce que vous avez monté plus haut, c'est un champ texte, mais il autocomplète les vrais chemins du système de fichiers du conteneur au fur et à mesure, pratique pour confirmer qu'un montage a bien atterri là où vous pensez. ",[475,1312,1313],{},"\u002Fuserdata\u002Fdocker"," pour vos stacks, ",[475,1316,1317],{},"\u002Fuserdata\u002Fetc"," pour votre config système, ",[475,1320,1321],{},"\u002Fuserdata\u002Fhome"," pour vos propres fichiers. Cliquez à nouveau sur ",[436,1324,1309],{}," pour chaque dossier supplémentaire, le petit bouton ",[475,1327,1328],{},"-"," retire une ligne dont vous n'avez plus besoin.",[444,1331,1332,762,1335,1338],{},[436,1333,1334],{},"Excludes",[436,1336,1337],{},"Excludes (Case Insensitive)"," : des motifs à ignorer au sein de ces chemins, pratique pour les dossiers de cache ou tout ce qui est vraiment jetable et qui gonflerait chaque instantané pour rien.",[444,1340,1341,1343,1344,1346,1347,1349,1350,1352,1353,1356],{},[436,1342,1259],{}," : les trois mêmes choix que les plannings du dépôt ci-dessus, ",[475,1345,1262],{},", un ",[475,1348,1266],{},", ou une ",[475,1351,1270],{},". Un cron nocturne du type ",[475,1354,1355],{},"0 3 * * *"," (tous les jours à 3h du matin) est un défaut raisonnable pour un homelab.",[444,1358,1359,1362,1363,1366,1367,1370,1371,1374],{},[436,1360,1361],{},"Retention Policy"," : combien d'instantanés conserver, et pendant combien de temps. ",[436,1364,1365],{},"By Time Period"," vous permet de dire \"garder 7 quotidiens, 4 hebdomadaires, 6 mensuels\" indépendamment, ce qui vous donne largement assez de points de restauration étalés dans le temps sans que le dépôt grossisse indéfiniment, puisque restic déduplique de toute façon les données inchangées entre les instantanés. ",[436,1368,1369],{},"By Count"," conserve à la place simplement les N derniers instantanés, quel que soit leur âge. ",[436,1372,1373],{},"Latest (Count)"," en plus de l'un ou l'autre mode garantit qu'un nombre minimum d'instantanés récents survit toujours, quoi que dise le reste de la politique.",[444,1376,1377,771,1379,1382,1383,1386,1387,1389],{},[436,1378,937],{},[436,1380,1381],{},"Backup Flags"," vous permet de passer des options supplémentaires directement à la commande ",[475,1384,1385],{},"restic backup"," sous-jacente pour tout ce que ce formulaire n'expose pas ; ",[436,1388,934],{}," exécute des scripts ou envoie des notifications sur les événements de sauvegarde, le même mécanisme que l'onglet Hooks du dépôt, mais limité à ce seul plan au lieu de tous les plans utilisant le dépôt.",[398,1391,1392],{},"Cette politique de rétention est d'ailleurs votre vraie défense contre les ransomwares : si quelque chose commence à chiffrer vos fichiers à 2h du matin, la sauvegarde de ce soir est compromise, mais celle de la semaine dernière ne l'est pas, et restic vous permet de restaurer depuis n'importe laquelle d'entre elles.",[798,1394,802,1396,1399,1400,1402],{"icon":560,"to":1395},"\u002Fnonsense\u002Fbash\u002Fbackrest-docker-stop",[436,1397,1398],{},"Pour aller plus loin :"," si ce que vous sauvegardez inclut une base de données en cours d'exécution, arrêter son conteneur le temps des quelques secondes que prend la sauvegarde est plus sûr que de la sauvegarder pendant qu'elle écrit. Voir ",[436,1401,332],{}," pour un script qui fait exactement ça, déclenché automatiquement par Backrest lui-même.",[425,1404,1406],{"id":1405},"restaurer-une-sauvegarde","Restaurer une sauvegarde",[398,1408,1409,1410,1413,1414,1417,1418,1421],{},"Une sauvegarde qu'on n'a jamais essayé de restaurer est un pari, pas un plan, ça vaut le coup de le faire une fois avant d'en avoir vraiment besoin. Ouvrez le plan, cliquez sur un instantané, dépliez ",[436,1411,1412],{},"Snapshot Browser"," jusqu'à ce dont vous avez besoin, puis cliquez sur le menu ",[436,1415,1416],{},"..."," à côté et choisissez ",[436,1419,1420],{},"Restore to path",".",[398,1423,1424,1425,1428],{},"Laissez le champ de chemin vide et Backrest l'envoie directement vers les téléchargements de votre navigateur, l'option la plus simple pour récupérer un seul fichier. Tapez un chemin et Backrest écrit plutôt les données restaurées dans le conteneur à cet endroit, et il pré-remplit un dossier temporaire du type ",[475,1426,1427],{},"\u002Fuserdata-backrest-restore-\u003Cid du snapshot>",", volontairement pas votre montage d'origine.",[398,1430,1431,1432,758,1434,762,1436,1438,1439,1442,1443,1445,1446,1449],{},"Ce choix par défaut n'est pas un hasard : ",[475,1433,757],{},[475,1435,761],{},[475,1437,765],{}," sont montés en ",[475,1440,1441],{},":ro",", donc restic ne peut pas y réécrire, restaurer directement dans ",[475,1444,1313],{}," échoue avec une erreur de système de fichiers en lecture seule. Restaurez vers ce dossier temporaire suggéré (ou téléchargez à la place), vérifiez ce que vous avez récupéré, puis recopiez les fichiers à leur vraie place vous-même avec ",[475,1447,1448],{},"sudo cp -a",", depuis l'hôte, en dehors de Backrest. Une étape de plus, mais ça garantit aussi qu'une restauration ne peut jamais écraser silencieusement des données en cours d'utilisation, exactement la prudence qu'on veut en plein incident.",[398,1451,1452,1453,1421],{},"Et voilà, vous avez maintenant une vraie stratégie de sauvegarde plutôt qu'un dossier appelé ",[475,1454,1455],{},"sauvegarde_finale_v2_LAVRAIE",[1457,1458,1459],"style",{},"html pre.shiki code .sEgDM, html code.shiki .sEgDM{--shiki-light:#B392F0;--shiki-default:#FFCB6B;--shiki-dark:#B392F0}html pre.shiki code .sRuoG, html code.shiki .sRuoG{--shiki-light:#85E89D;--shiki-default:#F07178;--shiki-dark:#85E89D}html pre.shiki code .s8jd1, html code.shiki .s8jd1{--shiki-light:#E1E4E8;--shiki-default:#89DDFF;--shiki-dark:#E1E4E8}html pre.shiki code .s11XM, html code.shiki .s11XM{--shiki-light:#9ECBFF;--shiki-default:#C3E88D;--shiki-dark:#9ECBFF}html pre.shiki code .sDvJj, html code.shiki .sDvJj{--shiki-light:#6A737D;--shiki-light-font-style:inherit;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#6A737D;--shiki-dark-font-style:inherit}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html pre.shiki code .sJWha, html code.shiki .sJWha{--shiki-light:#79B8FF;--shiki-default:#C3E88D;--shiki-dark:#79B8FF}html pre.shiki code .s8K8j, html code.shiki .s8K8j{--shiki-light:#9ECBFF;--shiki-default:#89DDFF;--shiki-dark:#9ECBFF}",{"title":560,"searchDepth":574,"depth":574,"links":1461},[1462,1463,1464,1468,1472,1477,1478],{"id":427,"depth":574,"text":428},{"id":503,"depth":574,"text":504},{"id":528,"depth":574,"text":529,"children":1465},[1466,1467],{"id":540,"depth":585,"text":541},{"id":852,"depth":585,"text":853},{"id":856,"depth":574,"text":857,"children":1469},[1470,1471],{"id":941,"depth":585,"text":942},{"id":973,"depth":585,"text":974},{"id":1078,"depth":574,"text":1079,"children":1473},[1474,1475,1476],{"id":1085,"depth":585,"text":1086},{"id":1152,"depth":585,"text":1153},{"id":1214,"depth":585,"text":1215},{"id":1278,"depth":574,"text":1279},{"id":1405,"depth":574,"text":1406},[],"Installer Backrest, une interface web conviviale pour restic, et sauvegarder son serveur comme il faut avec la règle 3-2-1, vers un disque local, un autre serveur, S3 ou Backblaze B2.","md",null,{},true,{"title":262,"description":1480},"u8rFXhS13i4j9J8a3QHg9TJq1S3ZV1hdotOuN9s_nmk",[1488,1490],{"title":258,"path":259,"stem":260,"description":1489,"children":-1},"Installer Arcane, une interface web moderne de gestion Docker et Compose, comme alternative plus avancée à Dockge avec gestion multi-hôtes et connexion OIDC.",{"title":266,"path":267,"stem":268,"description":1491,"children":-1},"Formater la partition racine de Debian en BTRFS et utiliser Snapper pour annuler instantanément une mise à jour ratée ou un mauvais changement de config, en complément local des sauvegardes 3-2-1 hors site de Backrest.",1788956845233]