Linux dator dubbelarbete. (3 / 5 steg)
Steg 3: Rsync
rsync för att utföra säkerhetskopieringen i UNIX / Linux.
rsync-verktyget används för att synkronisera filer och kataloger från en plats till en annan på ett effektivt sätt. Platsen kan vara på lokal server eller på fjärrservern.
Viktiga funktioner i rsync
- Hastighet: första gången, rsync replikerar den helhet belåtenhet mellan käll- och kataloger. Nästa gång, överföringar rsync endast ändrade blocken eller byte till destinationsplatsen, vilket gör den riktigt snabb överföringen.
- Säkerhet: rsync tillåter kryptering av data med ssh-protokollet under överföringen.
- Mindre bandbredd: rsync använder komprimering och dekomprimering av data block för block på sändande och mottagande slutet respektive. Bandbredden som används av rsync kommer alltså alltid mindre jämfört med andra fil överföring protokoll.
- Privilegier: ingen särskild behörighet krävs för att installera och köra rsync
Syntax
$ rsync alternativ källa destination
Käll- och kan vara antingen lokalt eller fjärranslutet. Vid fjärrkontroll, ange inloggningsnamn, fjärrservernamn och plats.
Exempel 1. Synkronisera två kataloger i en lokal Server
För att synkronisera två kataloger i en lokal dator, kommandot följande rsync - zvr.
$ rsync - zvr/var/opt/installation/lager//root/temp bygga fillista... gjort sva.xml svB.xml. skickade 26385-byte 1098 byte 54966.00 byte/s totala storlek är 44867 speedup är 1.63 $
I exemplet ovan rsync:
- -z är att aktivera komprimering
- -v verbose
- -r visar rekursiva
Låt oss nu se tidsstämpeln på en av filerna som har kopierats från källa till destination. Som ni ser nedan, bevarar inte rsync tidsstämplar under synkronisering.
$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml - r--r--r--1 bin bin 949 Jun 18 2009 /var/opt/installation/inventory/sva.xml - r--r--r--1 root bin 949 Sep 2 2009 /root/temp/sva.xml
Exempel 2. Bevara tidsstämplar under synkroniseringen med rsync - en
rsync alternativet - en visar Arkiv-läge. -en alternativ inte följande,
- Rekursivt läge
- Bevarar symboliska länkar
- Bevarar behörigheter
- Bevarar tidsstämpel
- Bevarar ägare och grupp
Nu köra samma kommando som tillhandahålls i exempel 1 (men med rsync alternativet - a) enligt nedan:
$ rsync - azv/var/opt/installation/lager / / root/temp/byggnad fillista... gjort. / sva.xml svB.xml. skickade 26499-byte 1104 byte 55206.00 byte/s totala storlek är 44867 speedup är 1.63 $
Som ni ser nedan, bevarade rsync tidsstämplar vid synkronisering.
$ ls -l /var/opt/installation/inventory/sva.xml /root/temp/sva.xml - r--r--r--1 root bin 949 Jun 18 2009 /var/opt/installation/inventory/sva.xml - r--r--r--1 root bin 949 Jun 18 2009 /root/temp/sva.xml
Exempel 3. Synkronisera endast en fil
Kopiera endast en fil genom att ange namnet rsync kommando, som visas nedan.
$ rsync - v /var/lib/rpm/Pubkeys/root/temp/Pubkeys skickade 42-byte 12380 byte 3549.14 byte/s totala storlek är 12288 speedup är 0,99
Exempel 4. Synkronisera filer från lokal till fjärr
rsync kan du synkronisera filer/kataloger mellan det lokala och fjärranslutna systemet.
$ rsync - avz/root/temp/thegeekstuff lösenord: bygga fillista... gjort. / rpm / rpm/Basenames rpm/Conflictname skickas 15810261-byte 412 byte 2432411.23 byte/s totala storlek är 45305958 speedup är 2,87
Samtidigt gör synkronisering med servern, måste du ange användarnamn och ip-adressen för fjärrservern. Du bör också ange målkatalogen på fjärrservern. Formatet är användarnamn
Som du ser ovan, frågar den efter lösenord medan du gör rsync från lokal till fjärr-server.
Ibland vill du inte ange lösenordet när du säkerhetskopierar filer från lokal till fjärr-server. Till exempel om du har en backup shell script, som kopierar filer från lokal till fjärr-server med rsync, behöver du förmågan att rsync utan att behöva ange lösenord.
Det gör setup ssh lösenord mindre logga in som vi förklarat tidigare.
Exempel 5. Synkronisera filer från fjärrkontrollen till lokala
När du vill synkronisera filer från fjärr till lokala, ange fjärr sökvägen i källan och lokala sökvägen i mål enligt nedan.
$ rsync - avz thegeekstuff /root/temp lösenord: tar emot filen lista... gjort rpm / rpm/Basenames. skickade-406 byte 15810230 byte 2432405.54 byte/s totala storlek är 45305958 speedup är 2,87
Exempel 6. Fjärrgränssnitt för synkronisering
rsync kan du ange avlägsna skalet som du vill använda. Kan du rsync ssh aktiverar säkrade fjärranslutningen.
Använda rsync -e ssh att ange vilka fjärrgränssnitt att använda. I det här fallet använder rsync ssh.
$ rsync - avz -e ssh thegeekstuff/root/temp-lösenord: tar emot filen lista... gjort rpm / rpm/Basenames skickas 406-byte 15810230 byte 2432405.54 byte/s totala storlek är 45305958 speedup är 2,87
Exempel 7. Skriv inte över de ändrade filerna på resmålet
I en typisk sync situation om en fil ändras på destinationen, kanske vi inte vill skriva över filen med den gamla filen från källan.
Använda rsync -u alternativet för att göra just detta. (i.e skriver inte över en fil på destinationen, om det ändras). I följande exempel ändras filen heter Basenames redan på resmålet. Så, det kommer inte att skrivas över med rsync -u.
$ ls -l-/root/temp/Basenames totala 39088 - rwxr-xr-x 1 root root 4096 Sep 2 11:35 Basenames $ rsync - avzu thegeekstuff /root/temp lösenord: tar emot filen lista... gjort rpm / skickade 122 byte mottagna 505 byte 114.00 byte per sekund total storlek är 45305958 speedup är 72258.31 $ ls - lrt totala 39088 - rwxr-xr-x 1 root root 4096 Sep 2 11:35 Basenames
Exempel 8. Synkronisera endast katalog trädstruktur (inte filerna)
Med alternativet rsync -d för att synkronisera endast katalogträd från källa till destination. Den nedan exempel synkronisera endast katalogträdet på rekursiva sätt, inte filerna i kataloger.
$ rsync - v -d thegeekstuff. Lösenord: tar emot filen lista... gjort logrotate.status CAM / YaST2 / acpi / skickas 240 byte 1830 byte 318.46 byte/s totala storlek är 956 speedup är 0,46
Exempel 9. Visa rsync framsteg under överföring
När du använder rsync för backup, kanske du vill veta säkerhetskopieringsförloppet. dvs hur många filer är kopior, i vilken takt det är kopiering av fil, etc.
rsync-framsteg och visar detaljerade framsteg av rsync utförande enligt nedan.
$ rsync - avz--framsteg thegeekstuff/root/temp/lösenord: tar emot filen lista... 19 filer att överväga. / Basenames 5357568 100% 14,98 MB/s 0:00:00 (xfer #1, till-check = 17/19) Conflictname 12288 100% 35.09 kB/s 0:00:00 (xfer #2, att kontrollera = 16/19)... skickade 406-byte 15810211 byte 2108082.27 byte/s totala storlek är 45305958 speedup är 2,87
Du kan också använda rsnapshot nytta (som använder rsync) till backup lokala linuxeller backup avlägsen Linuxserver.
Exempel 10. Ta bort de filer som skapas på målet
Om en fil inte är närvarande vid källan, men närvarande vid målet, kanske du vill ta bort filen på målet under rsync.
I så fall, använda – Stryka valen som visas nedan. rsync Stryka valen tar bort filer som inte finns i källkatalogen.
# Källa och mål är i synk. Att nu skapa ny fil på målet. $ > ny-fil.txt $ rsync - avz--ta bort thegeekstuff. Lösenord: tar emot filen lista... gjort ta bort nya-fil.txt. / skickas 26-byte 390 byte 48.94 byte/s totala storlek är 45305958 speedup är 108908.55
Målet har den nya filen heter nya-fil.txt, när synkronisering med källa med – Stryka valen, den bort filen nya-fil.txt
Exempel 11. Gör inte skapa ny fil på målet
Om du vill, kan du uppdatera (Sync) endast den befintliga filer på målet. Om källan har nya filer, vilket inte är det på målet, kan du undvika att skapa dessa nya filer på målet. Om du vill den här funktionen kan använda – befintlig alternativ med rsync kommando.
Lägg först till en ny-fil.txt vid källan.
[/ var/lib/rpm] $ > ny-fil.txt
Nästa, köra rsync från målet.
$ rsync - avz--befintliga root. root-lösenord: tar emot filen lista... gjort. / skickas 26-byte 419 byte 46.84 byte per sekund total storlek är 88551424 speedup är 198991.96
Om du ser ovanstående utgång, fick det den nya filen nya-fil.txt
Exempel 12. Visa ändringar mellan källa och mål
Det här alternativet är praktiskt att visa skillnaden i filer eller kataloger mellan källa och mål.
Vid källan:
$ ls -l rpm - rw-r--r--1 root root 5357568 2010-06-24 08:57 Basenames - rw-r--r--1 root root 12288 2008-05-28 22:03 Conflictname - rw-r--r--1 root root 1179648 2010-06-24 08:57 Dirnames
På resmålet:
$ ls -l/root/temp - rw-r--r--1 root root 12288 28 maj 2008 Conflictname - rw-r--r--1 bin bin 1179648 Jun 24 05:27 Dirnames - rw-r--r--1 root root 0 september 3 06:39 Basenames
I exemplet ovan, mellan källan och målet, finns det två skillnader. Första ägare och grupp i filen Dirname skiljer sig. Nästa, storlek varierar för filen Basenames.
Låt oss nu se hur rsync visar denna skillnad. -i punkt ändringarna visas alternativet.
$ rsync - avzi thegeekstuff/root/temp/lösenord: tar emot filen lista... gjort > f.st... Basenames. f...og. Dirnames skickade 48 byte fick 2182544 byte 291012.27 byte/s totala storlek är 45305958 speedup är 20.76
I utdata visas några 9 bokstäver framför filnamnet eller katalognamn som anger ändringarna.
I vårt exempel säger bokstäverna framför Basenames (och Dirnames) följande:
> anger att en fil överförs till den lokala värden. f representerar det som en fil. s motsvarar storlek ändringar finns. t representerar tidsstämpel förändringar finns. o bytt ägare g grupp ändras.
Exempel 13. Inkludera och exkludera mönster under filöverföring
rsync kan du ge det mönster du vill inkludera och exkludera filer eller kataloger medan du gör synkronisering.
$ rsync - avz--inkluderar 'P *'--utesluta ' *' thegeekstuff/root/temp/lösenord: tar emot filen lista... gjort. / paket Providename Provideversion Pubkeys skickas 129-byte 10286798 byte 2285983.78 byte/s totala storlek är 32768000 speedup är 3.19
I exemplet ovan, det innehåller endast de filer eller kataloger som börjar med "P" (med rsync inkludera) och utesluter alla andra filer. (med rsync utesluta "*")
Exempel 14. Inte överför stora filer
Du kan berätta rsync inte att överföra filer som är större än en viss storlek med rsync – max-alternativet storlek.
$ rsync - avz--max-storlek = '100 K' thegeekstuff/root/temp/lösenord: tar emot filen lista... gjort. / Conflictname grupp Installtid namn Sha1header Sigmd5 utlösare skickas 252-byte 123081 byte 18974.31 byte/s totala storlek är 45305958 speedup är 367.35
Max-storlek = 100K gör rsync för att överföra endast de filer som är mindre än eller lika med 100K. Du kan ange M för megabyte och G för gigabyte.
Exempel 15. Överföra hela filen
En av det viktigaste inslaget i rsync är att det överför endast ändrade blocket till destinationen, istället för att skicka hela filen.
Om nätverkets bandbredd är inte en fråga för dig (men Processorn är), kan du överföra hela filen, rsync -W alternativet. Detta kommer att påskynda rsync processen, eftersom det inte har att utföra kontrollsumman vid källan och målet.
# rsync - avzW thegeekstuff /root/temp lösenord: tar emot filen lista... gjort. / Basenames Conflictname Dirnames Filemd5s Installtid namn skickas 406-byte 15810211 byte 2874657.64 byte/s totala storlek är 45305958 speedup är 2,87