Onafhankelijke vergelijking · geen betaalde rankings
Home / Blog / Technisch / rsync: opties die destructieve synchronisatie vermijden

rsync: opties die destructieve synchronisatie vermijden

Een omgekeerde rsync-cron verwijdert de prod: trailing slash, --delete en geschreven SRC → DST-richting vermijden destructieve synchronisatie.

Redactie Hébergeurs.eu 5 min Bijgewerkt 19 jul. 2026

Vrijdagavond vernieuwt het team de enscenering: rsync prod → staging met --delete om de exacte prod weer te geven. Maandagochtend klopt de enscenering, maar bij de productie ontbreken bestanden. Een slecht becommentarieerde cron draaide de richting om: van enscenering naar prod. rsync heeft de prod gewist zodat deze overeenkomt met gedeeltelijk lege staging.

rsync is het hulpmiddel bij uitstek voor snelle mirrors en op bestanden gebaseerde implementaties. Het is ook symmetrisch in zijn gevaarlijkheid: dezelfde vlaggen die op de juiste manier worden gesynchroniseerd, kunnen in één opdracht jaren aan bestanden vernietigen. De afsluitende slash, --delete, SRC → DST-richting en uitsluitingen zijn geen details; het zijn de lijnen tussen een gezonde vernieuwing en een P1-incident.

Trailing slash: de regel om te tatoeëren


rsync -av prod:/var/www/staging:/var/www/

# kopieer de INHOUD van /var/www/



rsync -av prod:/var/www staging:/var/www/

# creëert staging:/var/www/www — geneste nesting

Met de afsluitende slash op de bron kopieert rsync de inhoud van de map. Zonder schuine streep kopieert het de map zelf naar de bestemming. De www/www-fout is een klassieker in de vernieuwingsfase.

Documenteer de conventie in elk script: commentaar # SRC=prod:/var/www/DST=staging:/var/www/ met expliciete pijlen.

--droogdraaien en --verwijderen

Altijd -n of --dry-run vóór enige synchronisatie met --delete. Vervolgens '--itemize-changes' voor een leesbare audit. Elke '*verwijderende' regel in de uitvoer = verplichte pauze, herleesrichting, gedateerde back-up.

--delete verwijdert op de bestemming wat niet langer op de bron bestaat. Alleen aanvaardbaar nadat de test is gevalideerd, de back-upbestemming is gedateerd, de richting in zwart-wit is geschreven en met twee paar ogen is beoordeeld.

Nooit '--verwijderen' op cron zonder de exitcode en e-mailwaarschuwing te controleren als deze niet nul is.

Richting, kudde en back-up-dir

nodigVeilig patroon
Enscenering vernieuwenprod → enscenering, alleen enscenering verwijderen
DR-spiegelprod → DR, controlesom -c periodiek
ImplementerenCI-artefact, niet rsync integer prod

flock op cron vermijdt twee synchronisatie-overlappingen. --backup --backup-dir=dated/ vóór massale verwijdering — slaat een kopie met tijdstempel van verwijderde bestanden op.

Expliciete RSYNC_RSH=ssh variabele; harmoniseer de GNU versus BSD rsync-versie tussen servers vóór automatisering.

Uitsluitingen en valkuilen

Git-versie van het --exclude-from bestand: .env, storage/sessions, uploads, runtime caches, node_modules. Synchroniseer nooit cache met prod of geheimen met onopgeschoonde staging.

'--delete-excluded' is uiterst gevaarlijk - vermijd dit, behalve in gedocumenteerde expertgevallen.

rsync verspreidt ook ransomware: een rsync-mirror alleen is geen back-upstrategie. Combineer restische of onveranderlijke Borg voor de geschiedenis; rsync voor spiegelsnelheid.

Monitoring en training

Alias rsync-safe='rsync -av --dry-run --itemize-changes' voor het gehele operationele team. Droogloop verwijderen = ondertekende bewuste handeling.

Na synchronisatie: script diff-aantal bron-/bestemmingsbestanden. Cronmail bij niet-nul exit – klassieke stille mislukking vrijdagavond.

Onboarding 30 min: trailing slash quiz, post-mortem lezing in omgekeerde richting. Twee crons in tegengestelde richtingen = gegevensverlies op de lange termijn – verplichte architectuurherziening.

Paar versiebeheer

Rsync-snelheid, historische restic - gedocumenteerd herstel van de bronwaarheid.

Twee cron rsync tegengestelde richtingen = uiteindelijk gegevensverlies - beoordeling van de bidirectionele synchronisatiearchitectuur.

Operationeel toezicht

rsync onboarding-exploitatietraining — 30 min. voorkomt weekendincidenten. Trailing Slash-quizoefening. Cron-mail bij rsync niet-nul exit - stille mislukking klassieke vrijdagavond. Documenteer de kloof tussen de belofte van de hostingprovider en de veldmeting in de driemaandelijkse evaluatie.

Kwartaalvoortzetting

rsync onboarding-exploitatietraining — 30 min. voorkomt weekendincidenten. Trailing Slash-quizoefening. Cron-mail bij rsync niet-nul exit - stille mislukking klassieke vrijdagavond. Documenteer de kloof tussen de belofte van de hostingprovider en de veldmeting in de driemaandelijkse evaluatie.

Verschillende GNU versus BSD rsync-vlaggen - harmoniseer versies vóór geautomatiseerde cron.

Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.

Houd een gedateerd runbook bij, voor/na-statistieken en beoordeling na incidenten: cumulatieve discipline voorkomt paniek op vrijdagavond.

Beslis en ga vooruit zonder blinde vlek

  1. Alias rsync-safe met --dry-run — verwijder dry-run = ondertekende bewuste handeling.
  2. Afsluitende slash met watermerk — SRC met / inhoudskopie; zonder / creëert genest nesten.
  3. Richting SRC → DST in opmerkingen — elk cron-script; anti-overlap kudde.
  4. Git-versies zijn exclusief — .env, sessies, uploads; nooit --verwijderen-uitgesloten zonder beoordeling.
  5. Koppel rsync-mirror + onveranderlijke back-up met versiebeheer — alleen rsync verspreidt ransomware.

Implementatie en DR: gidsen, overzicht, vergelijker.

Veelgestelde vragen

Wat verandert de laatste schuine streep aan de bron?

Met /: rsync kopieert de inhoud van de map. Zonder /: geneste submap — klassieke staging/www/www-fout.

Wanneer is --delete acceptabel?

Na gevalideerde proefrit, gedateerde back-up, geschreven SRC → DST-richting, beoordeling met twee paar ogen. Nooit op cron zonder de exitcode te controleren.

Moeten we cache en node_modules uitsluiten?

Ja via versiebeheer --exclude-from. Synchroniseer de runtime-cache niet met prod of .env of sessies.

Vervangt rsync een back-up met versiebeheer?

Nee: rsync verspreidt ook ransomware. Koppel onveranderlijke back-up (restic, Borg) aan rsync-mirror.


Voeg standaard --dry-run toe aan je rsync-aliassen; het verwijderen ervan zou een bewuste handeling moeten zijn.

Vergelijk Europese providers

Filter op compliance, locatie en gebruikssituatie — open daarna de fiches om het echte bereik te controleren.

Blader door het overzicht
Blog

Gerelateerde lectuur

Alle artikelen →