För att undvika långa avbrott mellan Borg-säkerhetskopieringar bör du köra gallring av lagrade versioner efter en lyckad säkerhetskopiering, men schemalägga komprimering av arkivet mer sällan och utanför det huvudsakliga säkerhetskopieringsfönstret. Borg 1.4 separerar radering av arkiv från fysisk frigöring av utrymme, så det finns inget krav på att köra borg compact efter varje borg prune.
Den här guiden utgår från den aktuella stabila kommandomodellen i Borg 1.4.x. Borg 2 ändrar semantiken för arkiv och säkerhetskopior på flera områden, så kontrollera den installerade versionen innan du kopierar automatisering från en annan huvudversion.
Bekräfta Borg-versionen och arkivet
borg --version
borg info /mnt/backup/borg-repo
borg list /mnt/backup/borg-repo
I Borgs FAQ står det att Borg använder ett lås för hela arkivet och att endast en process kan ha skrivåtkomst åt gången. Om en långvarig komprimering överlappar nästa schemalagda säkerhetskopiering väntar säkerhetskopieringen på låset eller misslyckas när tidsgränsen för låset löper ut.
Definiera lagringen med en testkörning först
borg prune är destruktivt för arkivhistoriken. Borgs dokumentation om prune rekommenderar starkt att du testar med --dry-run och --list.
borg prune --dry-run --list --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --glob-archives '{hostname}-*' /mnt/backup/borg-repo
Om ett arkiv innehåller säkerhetskopior från flera maskiner eller datamängder är arkivfiltret nödvändigt. Utan ett begränsande filter betraktar Borg 1.4 alla arkiv i arkivet som kandidater för samma regler för lagring.
Kör endast prune efter en lyckad säkerhetskopiering
#!/bin/sh
set -eu
REPO=/mnt/backup/borg-repo
ARCHIVE='{hostname}-{now:%Y-%m-%d_%H-%M}'
borg create --stats "$REPO::$ARCHIVE" /srv/data
borg prune --list --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --glob-archives '{hostname}-*' "$REPO"
Kör inte prune för att en schemaläggare har startat det; kör prune för att en ny säkerhetskopiering har slutförts utan fel och lagringspolicyn redan har validerats.
Förstå varför prune inte frigör utrymme omedelbart
Sedan Borg 1.2 är komprimering separerad från normala kommandon som skriver till arkivet. Borgs separata kommentarer om komprimering förklarar att borttagning eller rensning av arkiv inte omedelbart återvinner allt diskutrymme i arkivet.
borg create
|
nytt arkiv har verkställts
|
borg prune
|
gamla arkiv borttagna från lagringsuppsättningen
|
borg compact
|
outnyttjat segmentutrymme återvunnet
Detta är användbart vid schemaläggning eftersom dagliga säkerhetskopieringar inte behöver betala hela kostnaden för att skriva om delvis använda arkivsegment.
Schemalägg compact mer sällan än prune
- backup: varje natt;
- prune: efter varje lyckad säkerhetskopiering eller några gånger i veckan;
- compact: en gång i veckan under en lugn period;
- fullständig kontroll av arkivet: enligt ett separat och mer sällan förekommande schema.
# Daglig säkerhetskopiering + rensning
0 1 * * * /usr/local/sbin/borg-backup
# Komprimering varje vecka
0 4 * * 0 /usr/local/sbin/borg-compact
Om säkerhetskopieringar ofta körs i flera timmar kan du flytta komprimeringen längre bort i tiden eller använda en timer med uttryckliga beroenden.
Använd standardtröskeln för compact innan du tvingar fram maximala omskrivningar
Den aktuella dokumentationen för compact använder som standard en tröskel på 10 %.
borg compact --progress /mnt/backup/borg-repo
Det standardvärdet är en bra utgångspunkt när din prioritet är ett kort underhållsfönster. Undvik att automatiskt använda --threshold 0; den skriver om närhelst utrymme kan sparas och kan vara betydligt långsammare i ett stort arkiv.
Förhindra att underhåll krockar med nästa säkerhetskopiering
Om ett jobb legitimt kan behöva vänta på en annan Borg-process, anger du en begränsad låsetid:
borg --lock-wait 1800 create /mnt/backup/borg-repo::'{hostname}-{now}' /srv/data
Använd inte en mycket lång väntetid på låset som ersättning för bra schemaläggning. Övervaka när säkerhetskopieringen faktiskt startar och slutar.
Om flera klienter delar ett arkiv bör deras scheman spridas ut. I Borgs FAQ står det att flera arkiv kan minska konkurrensen om låset när deduplicering mellan klienter inte är viktig.
Använd snabbstatistik när rapporteringen gör prune långsammare
Borg 1.4.5 lade till --quick-stats för att skapa, radera och rensa, och undvik långsammare statistik för hela arkivet när den inte behövs.
borg prune --quick-stats --keep-daily 7 --keep-weekly 4 --keep-monthly 6 --glob-archives '{hostname}-*' /mnt/backup/borg-repo
Håll ledigt utrymme tillgängligt innan du behöver compact
Vänta inte tills arkivets filsystem har noll ledigt utrymme. Borg kan inte tillförlitligt utföra normalt skrivarbete i arkivet på ett helt fullt filsystem.
df -h /mnt/backup
borg info /mnt/backup/borg-repo
För en bredare NAS-säkerhetskopieringsplan är ZimaOS 3-2-1-guiden för säkerhetskopiering en användbar påminnelse om att arkivets kvarhållning bara är ett lager i säkerhetskopieringsdesignen.
Validera schemat innan du litar på det
- Skapade varje säkerhetskopiering ett nytt arkiv?
- Kördes prune endast efter lyckade säkerhetskopieringar?
- Överensstämde kvarhållningsuppsättningen med planen för torrkörningen?
- Blev veckovis compact klar före nästa säkerhetskopiering?
- Ökade det lediga utrymmet efter compact?
- Tillbringade något jobb oväntat lång tid med att vänta på Borg-låset?
Om compact upprepade gånger överlappar nästa säkerhetskopiering, minska komprimeringsfrekvensen, behåll standardtröskeln, flytta compact till ett lugnare tidsfönster eller dela upp orelaterade arbetsbelastningar i separata arkiv.
Ett Borg-underhållsmönster med korta luckor
DAGLIGEN
01:00 borg create
|
+-- lyckades --> borg prune
|
+-- fel --> behåll gamla arkiv, avisera
VECKOVIS
04:00 borg compact
PERIODISKT
borg check
återställningstest av valda filer
Den centrala regeln är enkel: prune skyddar lagringspolicyn; compact återtar lagringsutrymme; de behöver inte köras med samma frekvens.
Support och tips
Mer att läsa

Home Assistant fungerar via Wi-Fi men inte via Ethernet eller VPN
Testa varje nätverkssökväg separat, verifiera gränssnittets och routingens status, skilj direktanslutning via IP-adress från upptäckt och reparera sedan endast det lager som har fallerat.

Så avvecklar du Home Assistant utan att lämna kvar oskyddade data
Bevisa utbytet eller arkiveringen, återkalla varje förtroendeväg, sanera varje databärande enhet och behåll endast dokumenterade skyddade återställningskopior.

Bör du använda automatiska uppdateringar för Home Assistant på en hemmaserver?
Välj manuella, endast aviserade eller stegvis automatiska uppdateringar utifrån påverkan på hushållet, kompatibilitetsrisk, observationstid och beredskap för återställning.

