Unngå å miste verdifull informasjon. Lag sikkerhetskopier av dine data på Linux-systemet ved hjelp av kommandolinjen. Vi vil utforske rsync, et kraftig verktøy for dette formålet, og i tillegg se på noen brukervennlige grafiske grensesnitt for det.
Det finnes utallige måter å ta sikkerhetskopi av filene dine på, men vi ønsker å presentere en robust, fleksibel og pålitelig metode for å beskytte dine data. Vi anbefaler rsync på grunn av den anerkjente algoritmen som kalkulerer forskjellene mellom filer i kilde- og målmapper. Dette gjør at kun endringene overføres, ikke hele filen, noe som sparer tid og ressurser.
Denne effektiviteten, kombinert med rsyncs lange historie med suksessfull filkopiering og katalog-synkronisering siden midten av 1990-tallet, gjør det til et optimalt valg for å skape sikkerhetskopier fra Linux-kommandolinjen.
I tillegg finnes det uavhengige applikasjoner som fungerer som en front-end for rsync. Disse gir et grafisk brukergrensesnitt (GUI) som noen kan oppleve som lettere å bruke.
Jo enklere og raskere det er å gjennomføre sikkerhetskopiering, desto større er sannsynligheten for at du faktisk gjør det.
Bruke rsync med en ekstern harddisk
For å sikkerhetskopiere dataene dine til en ekstern harddisk, må harddisken være tilkoblet og tilgjengelig. Hvis du har skrivetilgang til den, kan også rsync det. I dette eksemplet benytter vi en ekstern USB-harddisk kalt SILVERXHD (for «Silver eXternal Hard Drive») som er koblet til en Linux-maskin. Den har blitt automatisk montert av operativsystemet.
Du må kjenne til stasjonens plassering. I GNOME, åpne filutforskeren Nautilus og finn stasjonens navn i sidepanelet.
Hold musepekeren over navnet på den eksterne stasjonen, og et verktøytips vil vise deg stasjonens sti.
I vårt eksempel viser verktøytipset at monteringspunktet for det eksterne filsystemet er «/media/dave/SILVERXHD».
Om filutforskeren ikke viser dette, naviger til den eksterne stasjonen og åpne et terminalvindu der. Bruk `pwd`-kommandoen for å skrive ut stien til terminalvinduet.
Kopiere innholdet i en kildekatalog
For å bruke rsync til å kopiere innholdet i en mappe til en sikkerhetskopieringsdestinasjon, bruk følgende kommando:
`-r`-alternativet (rekursivt) sørger for at rsync kopierer alle undermapper og deres innhold. Merk at det er en skråstrek `/` på slutten av «SILVERXHD», men den har blitt brutt ned til neste linje på skjermbildet.
rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/
Filkopieringen vil gjennomføres, og du blir ført tilbake til ledeteksten i kommandolinjen.
Hvis vi ser på den eksterne USB-stasjonen, ser vi at mappene fra Dokumenter-mappen er kopiert til roten av den eksterne stasjonen.
ls
Kopiere kildekatalogen og innholdet
Hvis du ønsket at Dokumenter-mappen og innholdet skulle kopieres til den eksterne stasjonen, fjern `/`-en fra slutten av `/home/dave/Documents` i kommandoen slik:
rsync -r /home/dave/Documents /media/dave/SILVERXHD/
For å unngå forvirring, fjernet vi de to tidligere kopierte mappene fra den eksterne stasjonen før denne andre kommandoen ble utført.
Når den andre kopieringen er fullført og vi ser på den eksterne stasjonen igjen, ser vi at Dokumenter-mappen har blitt kopiert. Innholdet ligger i denne mappen, og ikke i roten av den eksterne stasjonen.
Kopiere til en bestemt målmappe
For å kopiere til en spesifikk mappe på målharddisken, legg til mappens navn i mål-stien. La oss si at vi ønsker å kopiere innholdet i `/home/dave/Documents`-mappen til en mappe som heter «backups» på den eksterne stasjonen.
Dette gjør vi med følgende kommando:
rsync -r /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Ved å se på den eksterne stasjonen kan vi se at backup-mappen er opprettet, og i den mappen ligger innholdet fra `/home/dave/Documents`-mappen.
ls
ls backups
Beholde fil-eierskap og tillatelser
Bruk `-a`-alternativet (arkiv) for å beholde filattributter som endringsdatoer, fil-eierskap, tilgangstillatelser, og mer for de kopierte filene, symbolkoblinger og spesielle blokkfiler.
rsync -ra /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Bruke Verbose Mode
`-v`-alternativet (verbose) tvinger rsync til å liste opp filene mens de kopieres.
rsync -rav /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Et sammendrag av sikkerhetskopieringen presenteres når kopieringen er ferdig.
Sendt: Antall bytes overført til målet.
Mottatt: Antall bytes mottatt på verten.
Byte/sek: er den effektive overføringshastigheten.
Total størrelse: Representerer størrelsen på dataen som ville blitt sendt om du ikke brukte rsync. Ved påfølgende kjøringer av rsync vil den kun overføre endringene. Dette tallet vil da representere den datamengden som ikke trengte å overføres.
Speedup: Dette er forholdet mellom datamengden som måtte sendes og den totale datamengden. Om rsync må kopiere alle filene i sin helhet (f.eks. ved første gangs kjøring), vil speedup være 1.0. Når rsync brukes neste gang, vil den optimalisere overføringene. Den vil da bare sende forskjellene mellom filene, ikke hele filene. Filer uten endringer vil bli ignorert. Speedup-tallet vil da representere forholdet mellom den lille datamengden som måtte overføres kontra den totale filstørrelsen.
Bruke progress-alternativet
`-P`-alternativet (progress) får rsync til å generere en liten fremdriftsrapport etter hver fil som er kopiert.
rsync -raP /home/dave/Documents/ /media/dave/SILVERXHD/backups/
Informasjonen som gis kan sees 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: Estimert tid igjen for å overføre filen.
xfr#: Antall filer som er overført hittil.
to-chk: Antall filer som skal sjekkes og verifiseres av optimaliseringsalgoritmene.
Øke hastigheten
For å øke overføringshastigheten, bruk `-z`-alternativet (komprimering). Dette komprimerer filen under overføring, men filen lagres ukomprimert i målmappen.
Komprimeringsalternativet gir ikke store fordeler for overføringer av mange små filer. For samlinger av store filer kan det derimot redusere overføringstiden betraktelig.
Vi benytter oss også av `–partial`-alternativet. rsync vil normalt slette delvis overførte filer som skyldes nettverksfeil eller andre avbrudd. Alternativet `–partial` tvinger rsync til å la delvis overførte filer ligge igjen på målet. Dette vil spare tid fordi rsync ikke trenger å overføre de delvis overførte filene på nytt.
Merk at du kanskje ikke vil bruke dette alternativet hvis det er fare for at noen kan forveksle delvis overførte filer med fullstendig overførte filer.
rsync -ravz --partial /home/dave/Documents/ /media/dave/SILVERXHD/backups/
I vårt eksempel er fordelene små.
Speedup har blitt litt bedre, med et par hundredeler av en prosent! I et reelt scenario vil forbedringene være mer imponerende.
Bruke rsync over et nettverk
Hittil har vi brukt en ekstern USB-stasjon som mål. For å bruke en nettverksplassering som sikkerhetskopieringsmål, bruk stien til den plasseringen i kommandoen. Det finnes en nettverkstilkoblet lagringsenhet (NAS) på nettverket som vi brukte til denne artikkelen.
Vi kan bruke samme metode som tidligere for å identifisere stien til NAS-en, ved å holde musepekeren over tilkoblingen til enheten i Nautilus.
Det er ingen spesielle alternativer for sikkerhetskopiering over et nettverk, de vi har benyttet oss av fungerer fortsatt.
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 antall Byte/sekund.
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 overføres fortsatt noen bytes. Dette er mengden data som må overføres for å sammenligne fillisten på målet med fillisten på kilden.
Speedup er en størrelsesorden bedre i dette tilfellet. I praksis vil ytelsesforholdene ligge et sted mellom våre to kunstige avlesninger.
Bruke rsync Over SSH
rsync støtter sikkerhetskopiering over en SSH-tilkobling. Vi må oppgi brukernavn og SSH-plassering i kommandoen. Vi benytter oss av et nettverksnavn her, men du kan også bruke en IP-adresse.
Legg merke til `:`-en mellom SSH-tilkoblingsdetaljene og starten på nettverksstien 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 på kildemaskinen.
Sikkerhetskopieringen vil fullføres som vanlig. Gjennomstrømningen er ikke like rask som ved en vanlig nettverkstilkobling, på grunn av krypteringen og dekrypteringen som finner sted i den sikre skalltilkoblingen.
Automatisere 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 (forutsatt at datamaskinen er på på det tidspunktet, selvsagt). Syntaksen for rsync-kommandoen endres ikke i det hele tatt.
Ctrl+O lagrer endringene dine til filen, og Ctrl+X lukker nanoredigeringsprogrammet.
Et brukervennlig grensesnitt for Rsync
Personer som ikke er like komfortable med kommandolinjen, kan benytte et av flere programmer som legger et grafisk brukergrensesnitt (GUI) rundt rsync. To gode eksempler er luckyBackup og Grsync. Begge disse programmene lar deg velge mange av rsync-alternativene via brukergrensesnittet.
Grsync-programmet fokuserer på å være en visuell innpakning for rsync. Den gir enkel tilgang til rsync-alternativene og legger kun til et begrenset antall nye funksjoner.
En av Grsyncs innstillingsdialoger.
LuckyBackup-programmet er mye mer enn en enkel innpakning for rsync. Det er et sikkerhetskopieringsprogram som bruker rsync i bakgrunnen. For eksempel kan luckyBackup lage flere «øyeblikksbilder» av sikkerhetskopien din. Du kan deretter «rulle tilbake» til versjoner av filer i hvert av øyeblikksbildene.
En av luckyBackups innstillingsdialoger.
Installere Grsync
For å installere Grsync på Ubuntu, bruk denne kommandoen:
sudo apt-get install grsync
For å installere Grsync på Fedora, bruk denne kommandoen:
sudo dnf install grsync
For å installere Grsync på Manaro, bruk denne kommandoen:
sudo pacman -Syu grsync
Installere luckyBackup
For å installere luckyBackup på Ubuntu, bruk følgende kommando:
sudo apt-get install luckybackup
For å installere luckyBackup på 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 ta sjanser, sikkerhetskopier dataene dine ofte
Sikkerhetskopiering er helt essensielt. Sikkerhetskopier ofte, sikkerhetskopier til flere steder og sikkerhetskopier til forskjellige medier. Når det først er satt opp, kan rsync gjøre alt dette for deg.