Så schemalägger du Restic-jobb för säkerhetskopiering, borttagning och rensning utan låskonflikter

Eva Wong är Teknisk skribent och den boende fixaren på ZimaSpace. En livslång nörd med en passion för hemma-labb och öppen källkod, hon specialiserar sig på att översätta komplexa tekniska koncept till tillgängliga, praktiska guider. Eva tror att självhosting ska vara roligt, inte skrämmande. Genom sina handledningar ger hon gemenskapen verktyg att avmystifiera hårdvaruinstallationer, från att bygga sin första NAS till att bemästra Docker-containrar.

Planera säkerhetskopieringar ofta, kör forget via en enda databasstyrenhet och kör prune mer sällan inom ett exklusivt underhållsfönster. Låt inte varje värd äga alla tre jobben.

Ett gemensamt hemserverförråd behöver två typer av tidsplanering: återställningspunkter per värd och underhåll för hela förrådet. Bygg schemat utifrån uppmätta tidsåtgångar och återställningsmål, inte fasta exempel från internet. Centralisera retention och prune, gruppera ögonblicksbilder korrekt, ordna enheter uttryckligen och ge varje överhoppat jobb en ny försökskörning och en avisering. Schemat är komplett först efter att två cykler och en provåterställning har visat att retention och låsning fungerar som avsett.

Inventera varje jobb, ägare och värsta normala tidsåtgång

Skapa en tabell för varje åtgärd som berör förrådet: säkerhetskopiering, forget, prune, check, unlock, listning av ögonblicksbilder och återställningstest. Notera initierande värd, kommando eller omslag, autentiseringsuppgift, normal och värsta aktuella tidsåtgång, tidsgräns, regel för nya försök och destination för aviseringar. Ta med jobb som är dolda i säkerhetskopieringsprogram eller NAS-gränssnitt.

Ett gemensamt förråd behöver underhåll på förrådsnivå i stället för en kopia per klient. Praktisk Restic-praxis för flera värdar tilldelar forget, prune och check en gång per förråd, samtidigt som retention grupperas för relevanta värdar och sökvägar.

Samla dubbla underhållsjobb under en enda styrenhet. Behåll ägarskapet för säkerhetskopieringen per värd där det underlättar åtkomst till källan, men låt varje värd rapportera start- och sluttillstånd till styrenheten. Om ett jobb saknar uppmätt tidsåtgång eller ägare ska du observera det innan du skapar ett underhållsfönster runt det.

Fastställ säkerhetskopieringsfrekvensen först och avgränsa sedan forget

Välj varje värds säkerhetskopieringsfrekvens utifrån hur mycket förändring du har råd att förlora och hur lång tid en säkerhetskopiering normalt tar. Sprid ut stora källgenomsökningar om de konkurrerar om nätverk eller lagring, men sprid inte ut jobben enbart för att få ett diagram att se prydligt ut. Låt den längsta normala säkerhetskopieringen bestämma den tidigaste starten för underhållet.

Kör forget från förrådsstyrenheten och förhandsgranska urvalet med avsedd gruppering av värd, sökväg och tagg. Oväntad kalendergruppering kan göra att retention tar bort fler återställningspunkter än en enkel tolkning av antalet som ska behållas antyder.

Håll forget logiskt åtskilt från fysisk prune när du utformar schemat. Den förhandsgranskade retention-principen kan köras efter en lyckad säkerhetskopiering eller i en egen fas i styrenheten, medan prune får ett längre exklusivt fönster. Koppla inte prune till varje värds säkerhetskopiering bara för att ett kommando kan kombinera dem.

Placera prune och check i fönster för hela förrådet

Kör prune mer sällan än säkerhetskopiering och vanligtvis mer sällan än forget, eftersom fysisk rensning av förrådet kan ta betydligt längre tid och blockerar annat arbete. Placera den efter att alla förväntade säkerhetskopieringar och retention-urval har slutförts. Ge check en egen fas eller ett eget fönster baserat på förrådets storlek och backendens hastighet.

En systemd-konfiguration för Restic kan hålla säkerhetskopiering och rensning i separata tjänster, så att schemaläggaren observerar deras sluttillstånd i stället för att starta ett enda ogenomskinligt kommando.

Om prune regelbundet överskrider fönstret ska du inte låta säkerhetskopieringar samlas på hög i tysthet. Minska frekvensen för prune, utöka fönstret, undersök backendens genomströmning eller dela upp förråd när deras driftkrav inte längre ryms tillsammans. För att få starta krävs att ingen säkerhetskopiering är aktiv; för att avsluta krävs ren underhållsstatus och ett frigjort förrådslås.

Kodifiera beroenden, nya försök och aviseringar

Kodifiera den avsedda ordningen i stället för att förlita dig på tidsluckor: säkerhetskopieringsenheter rapporterar slutförande, forget körs först efter de nödvändiga säkerhetskopieringarna, prune körs först när förrådet går in i sitt exklusiva fönster och check följer den valda underhållsprincipen. Använd en gemensam extern spärr som alla berörda enheter respekterar.

Systemd-mål kan uttrycka att beroenden mellan säkerhetskopiering och underhåll måste slutföras i ordning i stället för att bara starta vid olika klockslag.

Ställ in begränsade nya försök för låskonflikter och nätverksfel och avisera när tidsgränsen överskrids. En försenad säkerhetskopiering ska skjuta upp prune; en prune som tar för lång tid ska skjuta upp nästa säkerhetskopiering och meddela operatören. Tvingad upplåsning och alternativ utan lås är inte strategier för nya försök.

Verifiera två fullständiga cykler och en återställning

Följ två fullständiga cykler i stället för att förklara framgång så snart timerfilerna har lästs in. Bekräfta att varje källa skapar den förväntade ögonblicksbilden, att forget behåller de avsedda grupperna, att prune körs endast i sitt fönster, att lås rensas efter rena avslut och att aviseringar registrerar eventuella fördröjningar.

Återställ filer från en ögonblicksbild som överlevde retention- och prune-sekvensen, inte bara från den senaste säkerhetskopieringen. Det visar att hela schemat bevarar en användbar återställningspunkt i stället för att bara skapa gröna jobbstatusar.

Schemat är godkänt när två cykler slutförs i rätt ordning, inget jobb försvinner tyst, de bevarade ögonblicksbilderna stämmer med förhandsgranskningen och provåterställningen är korrekt. Rulla tillbaka automatiseringen av underhållet men behåll normala säkerhetskopieringar om retention tar bort fel grupp, prune inte kan slutföras tillförlitligt eller låskonflikter återkommer. Justera frekvensen utifrån uppmätta resultat, inte genom att inaktivera skyddet av förrådet.

Support och tips

Mer att läsa

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.