Slik tar du sikkerhetskopier av serveren med rsync
Sikkerhetskopier bør spille en viktig rolle i serverplanleggingen din. Enkelte sikkerhetskopier kan konfigureres og utføres raskt ved hjelp av det gratis synkroniseringsverktøyet eller rsync-protokollen.
Slik konfigurerer du rsync-sikkerhetskopiering på Linux-servere
For å bruke rsync på Linux-operativsystemer må du installere protokollen fra pakken med samme navn og opprette sikkerhetskopiene ved hjelp av terminalkommandoer. I det følgende vil vi bruke Ubuntu til å vise deg de viktigste trinnene for å sette opp sikkerhetskopieringsprosesser med rsync. Vi har også tatt med noen praktiske eksempler.
Rsync er allerede installert som standard i Ubuntu. Hvis dette ikke er tilfelle, kan du bruke følgende kommando for å installere det:
sudo apt-get install rsyncbashHvis rsync er installert, kan du bruke terminalkommandoer til å angi kilde- og målkataloger samt sikkerhetskopieringsalternativer. Kildekatalogen og katalogen der rsync skal lagre sikkerhetskopien, må angis som henholdsvis kilde- og målsti. Standardmodusen («Archive») utføres for eksempel slik:
rsync -a source directory target directorybashBruk testkjøringen -n til å kontrollere at de angitte parametrene og katalogene er riktige. Feilaktige oppføringer kan i verste fall føre til tap av data. Hvis enkelte filer ikke kopieres som de skal, skyldes dette ofte manglende tilgangsrettigheter. Hvis dette skjer, kan du prøve å kjøre kommandoen som administrator ved å legge til sudo foran den.
Fem eksempler på bruk av rsync-sikkerhetskopiering
Når du har lært deg de grunnleggende kommandoene, er rsync et utmerket verktøy for å kopiere filer og lage sikkerhetskopier. Du kan enten prøve ut og bruke enkeltstående kommandoer eller benytte velprøvde kombinasjoner av de tilgjengelige rsync-parametrene. I de følgende avsnittene har vi oppsummert fem populære måter å utføre rsync-sikkerhetskopieringer på.
Standard sikkerhetskopiering med arkivmodus
Arkivmodusen kopierer alle filer fra kildemappen til målmappen, inkludert alle undermapper. Alle tillatelser, tidsstempler og enhetsdata beholdes. Dette er i mange tilfeller den ideelle og enkleste løsningen, da den kombinerer ulike alternativer i én enkelt parameter. Hvis du kombinerer denne modusen med parameter -v, vil du også motta omfattende statusinformasjon under sikkerhetskopieringsprosessen.
rsync -av Source directory Target directorybashKildemappen og mappen der rsync skal lagre sikkerhetskopien, må angis som henholdsvis kilde- og målsti.
En identisk kopi av kildemappen
rsync kan ikke bare overføre filer fra A til B, men også lage identiske kopier av mapper eller hele kataloger. Etter standardarkivering slettes filene som befant seg i målmappen før rsync-sikkerhetskopieringen ble utført (men som ikke finnes i kildemappen).
rsync -av --delete Source directory Target directorybashrsync-sikkerhetskopiering som utelater filer i et bestemt format
Hvis du vil kjøre en rsync-sikkerhetskopiering og utelate filer i et bestemt format, kan du bruke parameteren --exclude til dette. Denne parameteren lar deg definere et spesifikt tegnmønster som rsync bruker som indikator for å ignorere en fil. Eksemplet nedenfor utelater .txt-filer.
rsync -av --exclude'*.txt' Source directory Target directorybashSikkerhetskopiere filer med en minimums- eller maksimumsstørrelse
Hvis du, i stedet for et bestemt tegnmønster, ønsker at filstørrelsen skal avgjøre hvilke filer som skal utelates fra en rsync-sikkerhetskopiering, kan du bruke parameterne --max-size og --min-size. Hvis du bruker følgende kommando, kopieres kun filer som er mellom minst 10 MB og høyst 100 MB:
rsync -av --min-size=10MB --max-size=100MB Source directory Target directorybashSikkerhetskopiering, inkludert konvertering av tegnsett
Det kan hende du må konvertere filene til et annet tegnsett i målkatalogen. Hvis du for eksempel ønsker å overføre data fra en Mac til en Linux-server, bør du inkludere konvertering av tegnsett. Apple-enheter bruker UTF8-MAC som standard, noe som ikke er tilgjengelig på Linux-systemer og vil føre til problemer med spesialtegn. Alternativ --iconv lar deg enkelt tilpasse tegnsettkoding som en del av rsync-sikkerhetskopieringsprosessen (i eksemplet nedenfor, fra UTF8-MAC til UTF8):
rsync -av --iconv=UTF8-MAC,UTF8 Source directory Target directorybashOversikt over de viktigste alternativene for rsync-sikkerhetskopiering
Du kan angi de enkelte innstillingene for rsync-sikkerhetskopiene dine ved hjelp av de ulike alternativene, som kan forkortes med bokstaver eller skrives ut i sin helhet. Tabellen nedenfor gir en oversikt over de viktigste parameterne, som kan kombineres med hverandre etter behov:
| Alternativ | Funksjon |
|---|---|
-r, --recursive
|
rsync-sikkerhetskopiering tar hensyn til alle underkataloger |
-u, --update
|
Instruksjon om å hoppe over filer i målkatalogen som er nyere enn de i kildekatalogen |
-c, --checksum
|
Skille mellom kilde- og målfiler basert på sjekksummer |
-l, --links
|
Symbolske lenker kopieres som sådan (og ikke som filer) |
-p, --perms
|
Filrettigheter beholdes |
-g, --group
|
Gruppefiltillatelser beholdes |
-t, --times
|
Filens tidsstempler (siste endring) beholdes |
-o, --owner
|
Fileiere beholdes (kun hvis de er administratorer) |
-D, --devices
|
Enhetsdata beholdes |
-z, --compress
|
Automatisk komprimering av de overførte filene |
--compress-level=NUM
|
Bestemmer komprimeringsnivået; verdier («NUM») mellom 0 (ingen komprimering) og 9 (maksimal komprimering) er mulige |
-v, --verbose
|
Mer omfattende detaljer under sikkerhetskopieringsprosessene |
-q, --quiet
|
Skjul alle detaljer om sikkerhetskopieringsprosessen (unntatt feilmeldinger) |
-a, --archive
|
Arkivmodus brukes som standardmodus og er identisk med alternativkombinasjonen — rlptgoD |
-n, --dry-run
|
Testkjøring der det ikke gjøres noen faktiske endringer |
-h, --help
|
Hjelpemeny (kan bare brukes uten å angi kilde- og målkataloger eller andre argumenter) |
--bwlimit=KBPS
|
Begrens båndbredde (kilobyte per sekund); f.eks. --bwlimit=30 (grense på 30 kbit/s)
|
--exclude=SAMPLE
|
Ekskluder et mønster fra synkronisering; f.eks. --exclude sample folder (mappen «sample folder» synkroniseres ikke.)
|
--delete
|
Slett alle filer som finnes i målkatalogen, men ikke i kildekatalogen |
--progress
|
Vis varigheten av rsync-sikkerhetskopiene og overføringshastigheten |
--list-only
|
Vis filer i stedet for en sikkerhetskopi |
--stats
|
Omfattende rapport om overførte data (antall, størrelse) |
--max-size=SIZE
|
Definer en maksimal filstørrelse; f.eks. --max-size=10MB (bare filer med en størrelse på opptil 10 MB overføres.)
|
--ignore-errors
|
Forhindre avbrytelse av sikkerhetskopieringsprosessen i tilfelle feil |