Slik sikkerhetskopierer du Linux-systemet ditt med rsync

Ekstern harddisk koblet til bærbar PC via USB

Yuriy Seleznev / Shutterstock.com



Ikke risiker tap av data. Sikkerhetskopier dine verdifulle data fra Linux-kommandolinjen. Vi bruker |_+_| kommando for dette, og vi har til og med funnet noen fine valgfrie grafiske grensesnitt for det.

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 |_+_| 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 dens solide merittliste i å utføre filkopier og katalogsynkroniseringer siden midten av 1990-tallet, |_+_| er en perfekt kandidat for å lage sikkerhetskopier fra Linux-kommandolinjen.

I tillegg finnes det uavhengige programmer som fungerer som en front-end for |_+_|. De gir grafiske brukergrensesnitt (GUIer) til |_+_| som noen 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 det, så kan |_+_| 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.

Annonse

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.

verktøytips for en ekstern stasjon

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 |_+_| kommando for å skrive ut banen til terminalvinduet.

Kopiere innholdet fra kildekatalogen

For å bruke |_+_| for å kopiere innholdet i en katalog til sikkerhetskopimålet, bruk følgende kommando.

Annonse

Den |_+_| (rekursivt) alternativ forårsaker |_+_| for å 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

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.

rsync

Kopiering av kildekatalogen og dens innhold

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

rsync

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 sikkerhetskopier på den eksterne stasjonen.

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

rsync

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

Annonse

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

rsync rsync

Bevare fileierskap og tillatelser

Bruk |_+_| (arkiv) alternativ for å bevare filattributter som endringsdatoer, fileierskap, tilgangstillatelser og mer, for kopierte filer, symbolkoblinger og spesielle blokkfiler.

pwd

Bruke Verbose Mode

Den |_+_| (verbose) alternativ tvinger |_+_| for å vise filene etter hvert som de kopieres.

rsync

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 var det ikke ved å bruke |_+_|. Ved påfølgende kjøringer av |_+_| det vil bare overføre filforskjellene. Denne figuren vil representere dataene som gjorde det ikke må overføres.
  • Gjør det raskere : Dette er forholdet mellom mengden data som måtte sendes og den totale mengden data som er. Hvis |_+_| må kopiere alle filene i sin helhet (første gang den kjøres, for eksempel) vil hastigheten være 1.0. Når |_+_| neste gang brukes, 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.

Bruk av fremdriftsalternativet

Den |_+_| (fremdrift) alternativet forårsaker |_+_| å generere en liten fremdriftsrapport etter at hver fil er kopiert.

-r

Annonse

Informasjonen som er gitt kan ses mellom hver kopierte fil.

Informasjonen som gis er:

  • Bytestørrelse : Data overført for denne filen.
  • Prosentdel : 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.
  • til-chk : Antall filer som skal kontrolleres og verifiseres av optimaliseringsalgoritmene.

Legger til mer hastighet

For å øke hastigheten på overføringer, bruk |_+_| (komprimering) alternativ. 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å |_+_| alternativet her. |_+_| vil slette delvis overførte filer forårsaket av nettverksfeil eller andre avbrudd. Den |_+_| alternativ styrker |_+_| for å la de delvis overførte filene være på målet. Nettotiden |_+_| kjører, trenger den 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

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 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å.

Annonse

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.

-a

Det er ingen forskjell i formatet på utdataene.

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

Hvis vi kjører |_+_| nok en gang 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.

Annonse

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

|_+_| 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.

-v

Du vil bli bedt om passordet til brukerkontoen på fjernkontroll maskin. Dette er ikke passordet ditt på kildemaskinen.

Sikkerhetskopieringen vil fullføres som vanlig. Gjennomstrømningen er ikke like 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.

rsync

Annonse

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 |_+_| kommandoen endres ikke i det hele tatt.

Ctrl+O vil skrive endringene til filen, og Ctrl+X lukker |_+_| redaktør.

I SLEKT: Slik planlegger du oppgaver på Linux: En introduksjon til Crontab-filer

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å |_+_|. To gode eksempler er luckyBackup og Grsync . Begge disse programmene tillater mange av |_+_| alternativer som skal velges gjennom brukergrensesnittet.

Den |_+_| programmet konsentrerer seg om å være en visuell innpakning for |_+_|. Det gir enkel tilgang til |_+_| alternativer og legger bare til et begrenset sett med ny funksjonalitet.

En av Grsync-innstillingsdialogene,

En av Grsync-innstillingsdialogene,

Den |_+_| programmet er mye mer enn en enkel innpakning for |_+_|. Det er et sikkerhetskopiprogram som bruker |_+_| Bak scenen. For eksempel |_+_| kan lage flere øyeblikksbilder av sikkerhetskopien. Du kan deretter rulle tilbake til versjonene av filene i alle øyeblikksbildene.

En av dialogboksene for luckyBackup-innstillinger

En av dialogboksene for luckyBackup-innstillinger.

For å installere Grsync

For å installere |_+_| i Ubuntu, bruk denne kommandoen:

rsync

For å installere |_+_| i Fedora, bruk denne kommandoen:

rsync

sudo dnf installer grsync

For å installere |_+_| i Manaro bruk denne kommandoen:

rsync

For å installere luckyBackup

For å installere |_+_| i Ubuntu, bruk følgende kommando:

rsync

For å installere |_+_| i Fedora bruk følgende kommando:

-P

I Manjaro må du installere |_+_| fra Arch User Repository (AUR). Du kan gjøre dette med |_+_| pakkeansvarlig.

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 gjøre alt dette for deg.

Linux-kommandoer
Filer tjære · pv · katt · tac · chmod · grep · diff · sed · Med · Mann · pushd · popd · fsck · testdisk · seq · fd · pandoc · CD · $PATH · awk · bli med · jq · brette · unik · journalctl · hale · stat · ls · fstab · kastet ut · mindre · chgrp · chown · rev · se · strenger · type · endre navn · glidelås · pakke opp · montere · umount · installere · fdisk · mkfs · rm · rmdir · rsync · df · gpg · vi · nano · mkdir · fra · ln · lapp · konvertere · rclone · makulere · SRM
Prosesser alias · skjerm · topp · hyggelig · renice · framgang · strace · system · tmux · chsh · historie · · parti · gratis · hvilken · dmesg · brukermod · ps · chroot · xargs · tty · rosa · lsof · vmstat · pause · vegg · ja · drepe · søvn · sudo · hans · tid · gruppeadd · brukermod · grupper · lshw · skru av · omstart · Stoppe · strøm av · passwd · lscpu · crontab · Dato · bg · fg
Nettverk netstat · ping · traceroute · ip · ss · hvem er · fail2ban · bmon · du · finger · nmap · ftp · krølle · wget · hvem · hvem er jeg · I · iptables · ssh-keygen · ufw

I SLEKT: Beste Linux bærbare datamaskiner for utviklere og entusiaster

LES NESTE Profilbilde for Dave McKay Dave McKay
Dave McKay brukte først datamaskiner da stanset papirtape var på moten, og han har programmert siden. Etter over 30 år i IT-bransjen er han nå teknologijournalist på heltid. I løpet av sin karriere har han jobbet som frilansprogrammerer, leder for et internasjonalt programvareutviklingsteam, prosjektleder for IT-tjenester og sist som databeskyttelsesansvarlig. Hans forfatterskap har blitt publisert av howtogeek.com, cloudsavvyit.com, itenterpriser.com og opensource.com. Dave er en Linux-evangelist og forkjemper for åpen kildekode.
Les hele bio

Interessante Artikler