Sådan opretter du sikkerhedskopier af servere med rsync
Sikkerhedskopier bør spille en vigtig rolle i din serverplanlægning. Du kan hurtigt konfigurere og udføre individuelle sikkerhedskopier ved hjælp af det gratis synkroniseringsværktøj eller rsync-protokollen.
Sådan konfigureres rsync-sikkerhedskopier på Linux-servere
For at bruge rsync på Linux-operativsystemer skal du installere protokollen fra pakken med samme navn og oprette dine sikkerhedskopier ved hjælp af terminalkommandoer. I det følgende afsnit vil vi bruge Ubuntu til at vise dig de vigtigste trin til opsætning af sikkerhedskopieringsprocesser ved hjælp af rsync. Vi har også medtaget nogle praktiske eksempler.
Rsync er som standard allerede installeret i Ubuntu. Hvis dette ikke er tilfældet, skal du bruge følgende kommando til at installere det:
sudo apt-get install rsyncbashHvis rsync er installeret, kan du bruge terminalkommandoer til at angive kilde- og destinationsmapperne samt sikkerhedskopieringsindstillingerne. Den pågældende kildemappe og den mappe, hvor rsync skal gemme sikkerhedskopien, skal angives som henholdsvis kilde- og destinationssti. Standardtilstanden („Archive“) udføres for eksempel på følgende måde:
rsync -a source directory target directorybashBrug testkørsel -n til at kontrollere, om de angivne parametre og mapper er korrekte. Forkerte indtastninger kan i værste fald føre til tab af data. Hvis nogle filer ikke kopieres som de skal, skyldes det ofte manglende adgangsrettigheder. Hvis dette sker, kan du prøve at køre kommandoen som administrator ved at sætte sudo foran den.
Fem eksempler på brug af rsync-backup
Når du først har lært de grundlæggende kommandoer, er rsync et fremragende værktøj til at kopiere filer og lave sikkerhedskopier. Du kan enten afprøve og anvende individuelle kommandokonfigurationer eller benytte gennemprøvede kombinationer af de tilgængelige rsync-parametre. I de følgende afsnit har vi samlet fem populære metoder til at udføre rsync-sikkerhedskopieringer.
Standardbackup med arkivtilstand
Arkivtilstanden kopierer alle filer fra kildemappen til målmappen, inklusive alle undermapper. Alle tilladelser, tidsstempler og enhedsdata bevares. Dette er i mange tilfælde den ideelle og enkleste løsning, da den samler forskellige indstillinger i én enkelt parameter. Hvis du kombinerer denne tilstand med parameter -v, får du desuden omfattende statusoplysninger under sikkerhedskopieringsprocessen.
rsync -av Source directory Target directorybashKildemappen og den mappe, hvor rsync skal gemme sikkerhedskopien, skal angives som henholdsvis kilde- og målsti.
En identisk kopi af kildemappen
rsync kan ikke blot overføre filer fra A til B, men kan også lave identiske kopier af mapper eller hele kataloger. Efter standardarkivering slettes de filer, der befandt sig i målmappen, før rsync-sikkerhedskopieringen fandt sted (men som ikke findes i kildemappen).
rsync -av --delete Source directory Target directorybashrsync-sikkerhedskopiering, hvor filer i et bestemt format udelades
Hvis du vil køre en rsync-sikkerhedskopiering, hvor filer i et bestemt format udelades, kan du bruge kommandoen --exclude til dette formål. Med denne parameter kan du definere et specifikt tegnmønster, som rsync bruger til at ignorere en fil. Følgende eksempelkode udelader .txt-filer.
rsync -av --exclude'*.txt' Source directory Target directorybashSikkerhedskopiering af filer med en minimums- eller maksimumsstørrelse
Hvis du i stedet for et bestemt tegnmønster ønsker, at filstørrelsen skal afgøre, hvilke filer der udelades i en rsync-sikkerhedskopiering, kan du bruge parametrene --max-size og --min-size. Hvis du bruger følgende kommando, kopieres kun filer, der er mellem mindst 10 MB og højst 100 MB:
rsync -av --min-size=10MB --max-size=100MB Source directory Target directorybashSikkerhedskopiering, herunder konvertering af tegnformater
Det kan være nødvendigt at konvertere filer til et andet tegnsæt i målmappen. Hvis du f.eks. vil overføre data fra en Mac til en Linux-server, bør du sørge for at inkludere konvertering af tegnsæt. Apple-enheder bruger som standard UTF8-MAC, hvilket ikke findes på Linux-systemer og vil medføre problemer med specialtegn. Med indstilling --iconv kan du nemt tilpasse tegnkodningen som en del af rsync-backupprocessen (i eksemplet nedenfor fra UTF8-MAC til UTF8):
rsync -av --iconv=UTF8-MAC,UTF8 Source directory Target directorybashOversigt over de vigtigste rsync-backupindstillinger
Du kan definere de enkelte indstillinger for dine rsync-sikkerhedskopier ved hjælp af de forskellige indstillinger, som kan forkortes med et bogstav eller skrives ud i fuld form. Nedenstående tabel giver et overblik over de vigtigste parametre, som kan kombineres efter behov:
| Valgmulighed | Funktion |
|---|---|
-r, --recursive
|
rsync-backup tager højde for alle undermapper |
-u, --update
|
Instruktion om at springe filer over i målmappen, der er nyere end dem i kildemappen |
-c, --checksum
|
Skel mellem kilde- og målfiler baseret på kontrolsummer |
-l, --links
|
Symbolske links kopieres som sådan (og ikke som filer) |
-p, --perms
|
Filrettigheder bevares |
-g, --group
|
Gruppefilrettigheder bevares |
-t, --times
|
Filens tidsstempler (sidste ændring) bevares |
-o, --owner
|
Filejere bevares (kun hvis de er administratorer) |
-D, --devices
|
Enhedsdata bevares |
-z, --compress
|
Automatisk komprimering af de overførte filer |
--compress-level=NUM
|
Bestemmer komprimeringsniveauet; værdier (‘NUM’) mellem 0 (ingen komprimering) og 9 (maksimal komprimering) er mulige |
-v, --verbose
|
Mere detaljerede oplysninger under sikkerhedskopieringsprocesserne |
-q, --quiet
|
Skjul alle detaljer om sikkerhedskopieringsprocessen (undtagen fejlmeddelelser) |
-a, --archive
|
Arkivtilstand bruges som standardtilstand og svarer til kombinationen af indstillingerne — rlptgoD |
-n, --dry-run
|
Testkørsel, hvor der ikke foretages egentlige ændringer |
-h, --help
|
Hjælpemenu (kan kun bruges uden angivelse af kilde- og målmapper eller andre argumenter) |
--bwlimit=KBPS
|
Begræns båndbredde (kilobyte pr. sekund); f.eks. --bwlimit=30 (grænse på 30 kbit/s)
|
--exclude=SAMPLE
|
Ekskluder et mønster fra synkronisering; f.eks. --exclude sample folder (mappen ‘sample folder’ synkroniseres ikke.)
|
--delete
|
Slet alle filer, der findes i målmappen, men ikke i kildemappen |
--progress
|
Vis varigheden af rsync-backups og overførselshastigheden |
--list-only
|
Vis en liste over filer i stedet for en sikkerhedskopi |
--stats
|
Omfattende rapport om de overførte data (antal, størrelse) |
--max-size=SIZE
|
Definer en maksimal filstørrelse; f.eks. --max-size=10MB (kun filer med en størrelse på op til 10 MB overføres.)
|
--ignore-errors
|
Forhindr afbrydelse af sikkerhedskopieringsprocessen i tilfælde af en fejl |