Hoe maak je serverback-ups met rsync
Back-ups moeten een belangrijke rol spelen in uw serverplanning. Individuele back-ups kunnen snel worden ingesteld en uitgevoerd met behulp van de gratis synchronisatietool of het rsync-protocol.
Hoe rsync-back-ups instellen op Linux-servers
Om rsync op Linux-besturingssystemen te gebruiken, installeert u het protocol in het pakket met dezelfde naam en maakt u uw back-ups met behulp van terminalopdrachten. In het volgende gedeelte laten we u aan de hand van Ubuntu de belangrijkste stappen zien voor het instellen van back-upprocessen met rsync. We hebben ook praktische voorbeelden toegevoegd.
Rsync is standaard al geïnstalleerd in Ubuntu. Als dit niet het geval is, gebruik dan het volgende commando om het te installeren:
sudo apt-get install rsyncbashAls rsync is geïnstalleerd, kunt u terminalopdrachten gebruiken om de bron- en doelmappen en de back-upopties op te geven. De betreffende bronmap en de map waarin rsync de back-upkopie moet opslaan, moeten worden opgegeven als bron- en doelpad. De standaardmodus (‘Archive’) wordt bijvoorbeeld als volgt uitgevoerd:
rsync -a source directory target directorybashGebruik testrun -n om te controleren of de opgegeven parameters en mappen correct zijn. Onjuiste invoer kan in het ergste geval leiden tot gegevensverlies. Als sommige bestanden niet worden gekopieerd zoals het hoort, komt dat vaak door een gebrek aan toegangsrechten. Probeer in dat geval het commando uit te voeren als beheerder met sudo ervoor.
Vijf voorbeelden voor het gebruik van rsync-back-up
Als u eenmaal de basiscommando’s kent, is rsync een uitstekend hulpmiddel voor het kopiëren van bestanden en het maken van back-ups. U kunt individuele commando-instellingen testen en toepassen of beproefde combinaties van de beschikbare rsync-parameters gebruiken. In de volgende paragrafen hebben we vijf populaire manieren om rsync-back-ups uit te voeren voor u op een rijtje gezet.
Standaard back-up met archiefmodus
De archiefmodus kopieert alle bestanden van de brondirectory naar de doeldirectory, inclusief alle subdirectories. Alle autorisaties, tijdstempels en apparaatgegevens blijven behouden. Dit is in veel gevallen de ideale en eenvoudigste oplossing, omdat verschillende opties in één parameter worden gecombineerd. Als u de modus combineert met de parameter -v, ontvangt u tijdens het back-upproces ook uitgebreide statusinformatie.
rsync -av Source directory Target directorybashDe betreffende brondirectory en de directory waarin rsync de back-upkopie moet opslaan, moeten worden opgegeven als bron- en doelpad.
Identieke kopie van de brondirectory
Rsync kan niet alleen bestanden van A naar B overbrengen, maar ook identieke kopieën van mappen of volledige directories maken. Na standaardarchivering worden de bestanden die zich vóór de rsync-back-up in de doelmap bevonden (maar niet in de bronmap) verwijderd.
rsync -av --delete Source directory Target directorybashrsync-back-up waarbij bestanden van een specifiek formaat worden uitgesloten
Als u een rsync-back-up wilt uitvoeren waarbij bestanden in een specifiek formaat worden uitgesloten, kunt u daarvoor het commando --exclude gebruiken. Met de parameter kunt u een individueel tekenpatroon definiëren dat rsync gebruikt als indicator om een bestand te negeren. De volgende voorbeeldcode sluit .txt-bestanden uit.
rsync -av --exclude'*.txt' Source directory Target directorybashBack-ups maken van bestanden met een minimale of maximale grootte
Als u in plaats van een specifiek tekenpatroon wilt dat de bestandsgrootte van invloed is op het uitsluiten van specifieke bestanden in een rsync-back-up, kunt u de parameters --max-size en --min-size gebruiken. Als u de volgende opdracht gebruikt, worden alleen bestanden met een grootte van minimaal 10 MB en maximaal 100 MB gekopieerd:
rsync -av --min-size=10MB --max-size=100MB Source directory Target directorybashBack-up inclusief conversie van tekenformaat
Het kan zijn dat u bestanden in de doelmap naar een ander tekenformaat moet converteren. Als u bijvoorbeeld gegevens van een Mac naar een Linux-server wilt overbrengen, moet u tekenformaatconversie toepassen. Apple-apparaten gebruiken standaard UTF8-MAC, wat niet beschikbaar is op Linux-systemen en problemen zou veroorzaken met speciale tekens. Met de optie --iconv kunt u de tekencodering eenvoudig aanpassen als onderdeel van het rsync-back-upproces (in het onderstaande voorbeeld van UTF8-MAC naar UTF8):
rsync -av --iconv=UTF8-MAC,UTF8 Source directory Target directorybashOverzicht van de belangrijkste rsync-back-upopties
U kunt de individuele instellingen voor uw rsync-back-ups definiëren met behulp van de verschillende opties, die met een letter kunnen worden afgekort of volledig kunnen worden uitgeschreven. De volgende tabel geeft een overzicht van de belangrijkste parameters, die naar behoefte met elkaar kunnen worden gecombineerd:
| Optie | Functie |
|---|---|
-r, --recursive
|
rsync-back-up houdt rekening met alle submappen |
-u, --update
|
Instructie om bestanden in de doelmap over te slaan die nieuwer zijn dan die in de bronmap |
-c, --checksum
|
Bron- en doelbestanden onderscheiden op basis van checksums |
-l, --links
|
Symbolische koppelingen worden als zodanig gekopieerd (en niet als bestanden) |
-p, --perms
|
Bestandsrechten blijven behouden |
-g, --group
|
Groepsbestandsrechten blijven behouden |
-t, --times
|
Tijdstempels van bestanden (laatste wijziging) blijven behouden |
-o, --owner
|
Bestandseigenaren blijven behouden (alleen als het beheerders betreft) |
-D, --devices
|
Apparaatgegevens worden behouden |
-z, --compress
|
Automatische compressie van de overgedragen bestanden |
--compress-level=NUM
|
Bepaalt het compressieniveau; waarden (‘NUM’) tussen 0 (geen compressie) en 9 (maximale compressie) zijn mogelijk |
-v, --verbose
|
Meer uitgebreide details tijdens de back-upprocessen |
-q, --quiet
|
Alle details over het back-upproces verbergen (behalve foutmeldingen) |
-a, --archive
|
Archiefmodus wordt gebruikt als standaardmodus en is identiek aan de optiecombinatie — rlptgoD |
-n, --dry-run
|
Testrun waarbij geen daadwerkelijke wijzigingen worden aangebracht |
-h, --help
|
Hulpmenu (kan alleen worden gebruikt zonder bron- en doelmappen of andere argumenten aan te geven) |
--bwlimit=KBPS
|
Beperk bandbreedte (kilobytes per seconde); bijv. --bwlimit=30 (limiet van 30 kbit/s)
|
--exclude=SAMPLE
|
Een patroon uitsluiten van synchronisatie; bijv. --exclude sample folder (de map ‘sample folder’ wordt niet gesynchroniseerd).
|
--delete
|
Verwijder alle bestanden die zich in de doelmap bevinden, maar niet in de bronmap. |
--progress
|
De duur van de rsync-back-ups en de overdrachtssnelheid weergeven. |
--list-only
|
Bestanden weergeven in plaats van een back-up |
--stats
|
Uitgebreid rapport over de overgedragen gegevens (aantal, grootte) |
--max-size=SIZE
|
Definieer een maximale bestandsgrootte; bijv. --max-size=10MB (alleen bestanden met een grootte tot 10 MB worden overgedragen).
|
--ignore-errors
|
Voorkom annulering van het back-upproces in geval van een fout |