Slik sikkerhetskopierer du Linux-systemet

Ikke risiker tap av data. Sikkerhetskopier dine verdifulle data fra Linux-kommandolinjen. Vi skal bruke rsync-kommandoen for dette, og vi har til og med funnet noen fine valgfrie grafiske grensesnitt for den.

Det er mange måter å lage en sikkerhetskopi av filene dine på. Vi ønsket å vise deg en robust, fleksibel og pålitelig måte å beskytte dataene dine på. Vi velger rsync på grunn av det velrespekterte algoritmer som beregner forskjellene mellom filer i kildekatalogen og målkatalogen. Bare forskjellene mellom to versjoner av en fil overføres, ikke hele filen hvis det kan unngås.

Når denne effektiviteten er sammenkoblet med sin solide merittliste i å utføre filkopier og katalogsynkroniseringer siden midten av 1990-tallet, er rsync en perfekt kandidat for å lage sikkerhetskopier fra Linux-kommandolinjen.

I tillegg finnes det uavhengige programmer som fungerer som en front-end for rsync. De gir grafiske brukergrensesnitt (GUIer) for å rsync som noen mennesker kan finne lettere å bruke.

Jo enklere og raskere det er å ta en sikkerhetskopi, jo større sannsynlighet er det for at du gjør det.

Bruke rsync med en ekstern harddisk

For å ta en sikkerhetskopi av dataene dine til en ekstern harddisk, må harddisken være montert og tilgjengelig for deg. Hvis du kan skrive til den, så kan rsync det også. I dette eksemplet er en ekstern USB-harddisk kalt SILVERXHD (for «Silver eXternal Hard Drive») koblet til Linux-datamaskinen. Den har blitt automatisk montert av operativsystemet.

Du må kjenne veien til stasjonen. I GNOME, åpne Nautilus-filleseren og finn navnet på stasjonen i sidefeltet.

Hold musepekeren over navnet på den eksterne stasjonen og et verktøytips vil vise deg banen til stasjonen.

I dette eksemplet informerer verktøytipset oss om at monteringspunktet for filsystemet på den eksterne stasjonen er «/media/dave/SILVERXHD.»

Hvis filnettleseren ikke gjør dette, bla til den eksterne stasjonen og åpne et terminalvindu på det stedet. Bruk pwd-kommandoen til å skrive ut banen til terminalvinduet.

Kopiere innholdet fra kildekatalogen

For å bruke rsync til å kopiere innholdet i en katalog til sikkerhetskopieringsmålet, bruk følgende kommando.

  Hvordan sette opp Viber på Linux

Alternativet -r (rekursivt) får rsync til å kopiere alle nestede underkataloger og deres innhold. Legg merke til at det er skråstrek «/» på slutten av ordet «SILVERXHD», men det har gått rundt til neste linje i skjermbildet.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/

Filkopieringen finner sted, og du returneres til ledeteksten på kommandolinjen.

Hvis vi ser på den eksterne USB-stasjonen, ser vi at katalogene som er i dokumentkatalogen er kopiert til roten på den eksterne stasjonen.

ls

Kopiering av kildekatalogen og dens innhold

Hvis du hadde ønsket å få dokumentkatalogen og innholdet kopiert til den eksterne stasjonen, fjern «/» fra slutten av «/home/dave/Documents» på kommandolinjen, slik:

rsync -r /home/dave/Documents /media/dave/SILVERXHD/

For å unngå forvirring fjernet jeg de to tidligere kopierte katalogene fra den eksterne stasjonen før denne andre kommandoen ble utført.

Hvis vi lar den andre kopien fullføres og tar en ny titt på den eksterne stasjonen, ser vi at dokumentkatalogen har blitt kopiert over. Innholdet er i den katalogen. De er ikke i roten til den eksterne stasjonen.

Kopiering til en spesifikk målkatalog

For å kopiere til en bestemt katalog på målharddisken, legg til navnet på katalogen i målbanen. La oss anta at vi vil kopiere innholdet i «/home/dave/Documents»-katalogen til en katalog kalt «backups» på den eksterne stasjonen.

Vi vil gjøre dette med følgende kommando.

rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Ved å sjekke på den eksterne stasjonen kan vi se at sikkerhetskopieringskatalogen er opprettet, og i den katalogen er innholdet i «/home/dave/Documents»-katalogen.

ls
ls backups

Bevare fileierskap og tillatelser

Bruk alternativet -a (arkiv) for å bevare filattributter som endringsdatoer, fileierskap, tilgangstillatelser og mer, for kopierte filer, symbolkoblinger og spesielle blokkfiler.

rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Bruke Verbose Mode

Alternativet -v (verbose) tvinger rsync til å liste filene etter hvert som de kopieres.

rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Et sammendrag av sikkerhetskopien presenteres når kopieringen er fullført.

Sendt: Bytene overført til målet.
Mottatt: Bytene mottatt hos verten.
Byte/sek: er den effektive overføringshastigheten.
Total størrelse: Representerer størrelsen på dataene som ville blitt sendt hvis du ikke brukte rsync. Ved påfølgende kjøringer av rsync vil den bare overføre filforskjellene. Denne figuren vil representere dataene som ikke måtte overføres.
Speedup: Dette er forholdet mellom mengden data som måtte sendes og den totale mengden data som er. Hvis rsync trenger å kopiere alle filene i sin helhet (f.eks. første gang den kjøres) vil hastigheten være 1.0. Når rsync brukes neste gang, vil den optimere overføringene. Det vil bare sende forskjellene mellom filene, ikke hele filene. Filer uten endringer vil bli ignorert. Hastighetstallet vil representere forholdet mellom den lille datamengden som måtte overføres kontra den totale størrelsen på filene.

  Hvordan installere SpeedCrunch på Linux

Bruk av fremdriftsalternativet

Alternativet -P (fremdrift) får rsync til å generere en liten fremdriftsrapport etter at hver fil er kopiert.

rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/

Informasjonen som er gitt kan ses mellom hver kopierte fil.

Informasjonen som gis er:

Bytestørrelse: Data overført for denne filen.
Prosent: Prosentandel av filen som er overført.
B/s: Dataoverføringshastighet.
Gjenstående tid: Beregnet tid igjen for å overføre denne filen.
xfr#: Antall filer som er overført så langt.
to-chk: Antall filer som skal kontrolleres og verifiseres av optimaliseringsalgoritmene.

Legger til mer hastighet

For å øke hastigheten på overføringer, bruk alternativet -z (komprimering). Dette komprimerer filen under overføring, men filen lagres ukomprimert i målkatalogen.

Komprimeringsalternativet vil ikke gi betydelige fordeler for overføringer som involverer mange små filer. For samlinger av større filer kan det redusere overføringstiden på en meningsfull måte.

Vi bruker også –delvis-alternativet her. rsync vil slette delvis overførte filer forårsaket av nettverksfeil eller andre avbrudd. Alternativet –partial tvinger rsync til å forlate de delvis overførte filene på målet. Nettotiden som rsync kjører, trenger ikke å overføre delene av de delvis overførte filene på nytt.

Merk at du kanskje ikke vil bruke dette alternativet hvis det er fare for at noen vil forveksle de delvis overførte filene for fullstendig overførte filer.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/

I vårt eksempel er fordelene marginale.

Hastighetsforholdet har forbedret seg, men med to hundredeler av en prosent! I et virkelighetsscenario vil hastighetsforbedringene dine være mer imponerende.

Bruke rsync over et nettverk

Så langt har vi målrettet oss mot en ekstern USB-stasjon. For å bruke en nettverksplassering som mål for sikkerhetskopieringen, bruk banen til den plasseringen på kommandolinjen. Det er en nettverkstilkoblet lagringsenhet (NAS) på nettverket som denne artikkelen ble undersøkt på.

Vi kan bruke det samme trikset som vi brukte tidligere for å identifisere banen til NAS, ved å holde musen over tilkoblingen til den enheten i Nautilus.

Det er ingen spesielle alternativer for sikkerhetskopiering over et nettverk; disse er alle alternativer vi allerede har brukt.

rsync -ravz  --partial /home/dave/Documents/ /media/dave/NAS/dave/backups/

Det er ingen forskjell i formatet på utdataene.

Ikke overraskende er det en betydelig forbedring i Byte/sek-tallet.

Hvis vi kjører rsync igjen, kan vi se at det ikke er noen filer å overføre fordi det ikke har vært noen endringer, men det er fortsatt noen byte som er overført frem og tilbake. Dette er mengden data som må overføres for å sammenligne fillisten på målet med fillisten på kilden.

  Hvordan bruke timeout-kommandoen på Linux

Hastighetsforholdet er en størrelsesorden bedre i dette tilfellet. I praksis vil ytelsesforholdene være et sted mellom våre to pseudo-kunstige avlesninger.

Bruker rsync Over SSH

rsync støtter sikkerhetskopiering over en SSH-tilkobling. Vi må oppgi brukerkontonavnet og SSH-plasseringen på kommandolinjen. Vi bruker et nettverksnavn her, men du kan også bruke en IP-adresse.

Legg merke til «:» mellom SSH-tilkoblingsdetaljene og starten på nettverksbanen på det eksterne målet.

rsync -ravz  --partial /home/dave/Documents/ [email protected]:/home/dave/Backups/

Du vil bli bedt om passordet til brukerkontoen på den eksterne maskinen. Dette er ikke passordet ditt på kildemaskinen.

Sikkerhetskopieringen vil fullføres som vanlig. Gjennomstrømningen er ikke så rask som en vanlig nettverkstilkobling, på grunn av krypteringen og dekrypteringen som finner sted i den sikre skallforbindelsen.

Automatisering av sikkerhetskopier

Vi kan enkelt lage automatiserte sikkerhetskopier ved å legge til oppføringer i crontab-filen din.

crontab -e

Vi setter opp en automatisert sikkerhetskopi som kjører hver dag klokken 04:30 (hvis datamaskinen er på på det tidspunktet, selvfølgelig). Syntaksen for rsync-kommandoen endres ikke i det hele tatt.

Ctrl+O vil skrive endringene dine til filen, og Ctrl+X lukker nanoredigeringsprogrammet.

Sette et vennlig ansikt på Rsync

Folk som er mindre komfortable med kommandolinjen kan bruke et av en rekke programmer som setter et grafisk brukergrensesnitt (GUI) på rsync. To gode eksempler er luckyBackup og Grsync. Begge disse programmene lar mange av rsync-alternativene velges gjennom brukergrensesnittet.

Grsync-programmet konsentrerer seg om å være en visuell innpakning for rync. Den gir enkel tilgang til rsync-alternativene og legger bare til et begrenset sett med ny funksjonalitet.

En av Grsync-innstillingsdialogene,

LuckyBackup-programmet er mye mer enn en enkel innpakning for rsync. Det er et backup-program som bruker rsync bak kulissene. For eksempel kan luckyBackup lage flere «øyeblikksbilder» av sikkerhetskopien din. Du kan deretter «rulle tilbake» til versjonene av filene i alle øyeblikksbildene.

En av dialogboksene for luckyBackup-innstillinger.

For å installere Grsync

For å installere Grsync i Ubuntu, bruk denne kommandoen:

sudo apt-get install grsync

For å installere Grsync i Fedora, bruk denne kommandoen:

sudo dnf install grsync

For å installere Grsync i Manaro, bruk denne kommandoen:

sudo pacman -Syu grsync

For å installere luckyBackup

For å installere luckyBackup i Ubuntu, bruk følgende kommando:

sudo apt-get install luckybackup

For å installere luckyBackup i Fedora, bruk følgende kommando:

sudo dnf install luckybackup

I Manjaro må du installere luckyBackup fra Arch User Repository (AUR). Du kan gjøre dette med pamac-pakkebehandleren.

Ikke risiker det, sikkerhetskopier dataene dine ofte

Sikkerhetskopier er helt avgjørende. Sikkerhetskopier ofte, sikkerhetskopier til mange steder og sikkerhetskopier til forskjellige medier. Når den er satt opp, kan rsync gjøre alt dette for deg.