Rsync (Daljinska sinkronizacija) je najčešće korištena naredba za kopiranje i sinkroniziranje datoteke i direktorije na daljinu kao i lokalno u Linux/Unix sustava. Pomoću rsync naredbom možete kopirati i sinkronizirati svoje podatke na daljinu i lokalno kroz imenike, na diskove i mreže, izraditi sigurnosne kopije podataka i preslikati ih na dva Linux stroja.
Ovaj članak objašnjava 10 osnovna i napredna upotreba rsync naredba za prijenos datoteka na daljinu i lokalno Linux strojevi na bazi. Ne morate biti korijen korisnika za pokretanje rsync naredba.
# rsync opcije izvorno odredište
Možemo instalirati rsync paket uz pomoć sljedeće naredbe.
# yum install rsync (Uključeno crveni šeširbazirani sustavi) # apt-get install rsync (UključenoDebian bazirani sustavi)
Ova naredba će sinkronizirati jednu datoteku na lokalnom računalu s jednog mjesta na drugo. Ovdje u ovom primjeru naziv datoteke sigurnosna kopija.tar treba kopirati ili sinkronizirati /tmp/backups/ mapu.
[[zaštićena e -pošta]]# rsync -zvh backup.tar/tmp/backups/created directory/tmp/backups backup.tar poslano 14,71 MB primljeno 31 bajtova 3,27 MB po sekundi ukupna veličina je 16,18M ubrzanje je 1,10
U gornjem primjeru možete vidjeti da ako odredište već ne postoji rsync će automatski stvoriti direktorij za odredište.
Sljedeća naredba će prenijeti ili sinkronizirati sve datoteke iz jednog direktorija u drugi direktorij na istom stroju. Ovdje u ovom primjeru, /root/rpmpkgs sadrži neke datoteke paketa rpm i želite da se taj direktorij kopira iznutra /tmp/backups/ mapu.
[[zaštićena e -pošta]]# rsync -avzh/root/rpmpkgs/tmp/backups/slanje inkrementalnog popisa datoteka rpmpkgs/rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm rpmpkgs/nagios-3.5.0.tar.gz rpmpkgs/nagios-plugins-1.4.16.tar.gz poslano 4,99 MB primljeno 92 bajta 3,33 M bajtova/sek ukupna veličina je 4,99M ubrzanje je 1,00
Ova naredba će sinkronizirati direktorij s lokalnog računala na udaljeni stroj. Na primjer: Na vašem lokalnom računalu postoji mapa "rpmpkgs”Koji sadrži neke RPM pakete i želite da se sadržaj lokalnog imenika šalje udaljenom poslužitelju, možete upotrijebiti sljedeću naredbu.
[[zaštićena e -pošta]] $ rsync -avz rpmpkgs/ [zaštićena e -pošta]:/Dom/ [zaštićena e -pošta]lozinka korisnika: slanje inkrementalnog popisa datoteka ./ httpd-2.2.3-82.el5.centos.i386.rpm mod_ssl-2.2.3-82.el5.centos.i386.rpm nagios-3.5.0.tar.gz nagios-plugins-1.4.16.tar.gz poslano 4993369 bajtova primljeno 91 bajtova 399476,80 bajtova/sek ukupna veličina je 4991313 ubrzanje je 1,00
Ova naredba pomoći će vam u sinkronizaciji udaljenog direktorija s lokalnim imenikom. Ovdje u ovom primjeru, direktorij /home/tarunika/rpmpkgs koji se nalazi na udaljenom poslužitelju kopira se na vaše lokalno računalo u /tmp/myrpms.
[[zaštićena e -pošta]]# rsync -avzh [zaštićena e -pošta]:/home/tarunika/rpmpkgs/tmp/myrpms [zaštićena e -pošta]lozinka korisnika: primanje inkrementalnog popisa datoteka izrađen direktorij/tmp/myrpms rpmpkgs/rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm rpmpkgs/nagios-3.5.0.tar.gz rpmpkgs/nagios-plugins-1.4.16.tar.gz poslano 91 bajtova primljeno 4,99M bajtova 322,16K bajtova/sek ukupna veličina je 4,99M ubrzanje je 1,00
Pomoću rsync -a možemo koristiti SSH (Sigurna ljuska) za prijenos podataka, pomoću SSH protokolom, pri prijenosu naših podataka možete biti sigurni da se vaši podaci prenose na zaštićeno mjesto vezu s enkripcijom tako da nitko ne može pročitati vaše podatke dok se prenose preko žice na Internet.
Također kada koristimo rsync moramo pružiti korisnik/korijen lozinku za izvršavanje tog određenog zadatka, pa pomoću SSH opcija slat će vaše prijave na šifriran način tako da vaša lozinka bit će na sigurnom.
Za navođenje protokola s rsync morate dati “-e”Opciju s nazivom protokola koji želite koristiti. Ovdje ćemo u ovom primjeru koristiti "ssh"Sa"-e”I izvršite prijenos podataka.
[[zaštićena e -pošta]]# rsync -avzhe ssh [zaštićena e -pošta]: /root/install.log/tmp/ [zaštićena e -pošta]'s lozinka: primanje inkrementalnog popisa datoteka install.log poslano 30 primljenih bajtova 8.12K bajtova 1.48K bajtova/sek ukupna veličina je 30.74K ubrzanje je 3.77
[[zaštićena e -pošta]]# rsync -avzhe ssh backup.tar [zaštićena e -pošta]:/sigurnosne kopije/ [zaštićena e -pošta]'s lozinka: slanje inkrementalnog popisa datoteka backup.tar poslano 14,71 M bajtova primljeno 31 bajtova 1,28 M bajtova/sek ukupna veličina je 16,18 M ubrzanje je 1,10.
Predloženo čitanje:Upotrijebite Rsync za sinkronizaciju novih ili promijenjenih/izmijenjenih datoteka u Linuxu
Za prikaz napretka pri prijenosu podataka s jednog stroja na drugi stroj možemo upotrijebiti '-napredak' opciju za to. Prikazuje datoteke i preostalo vrijeme dovršetka prijenosa.
[[zaštićena e -pošta]]# rsync -avzhe ssh --progress /home /rpmpkgs [zaštićena e -pošta]:/root/rpmpkgs [zaštićena e -pošta]'s lozinka: slanje inkrementalnog popisa datoteka kreiranog direktorija/root/rpmpkgs rpmpkgs/rpmpkgs/httpd-2.2.3-82.el5.centos.i386.rpm 1.02M 100% 2.72MB/s 0:00:00 (xfer#1, za provjeru = 3/5) rpmpkgs/mod_ssl-2.2.3-82.el5.centos.i386.rpm 99.04K 100% 241.19kB/s 0:00:00 (xfer#2, za provjeru = 2/5 ) rpmpkgs/nagios-3.5.0.tar.gz 1,79M 100% 1,56MB/s 0:00:01 (xfer#3, to-check = 1/5) rpmpkgs/nagios-plugins-1.4.16.tar.gz 2.09M 100% 1.47MB/s 0:00:01 (xfer#4, to-check = 0/5) poslano 4.99M primljenih bajtova 92 bajta 475,56K bajtova/sek ukupna veličina je 4,99M ubrzanje je 1,00
Ove dvije opcije nam to omogućuju uključuju i isključiti datoteke određivanjem parametara s ovom opcijom pomaže nam odrediti te datoteke ili direktorije koje želite uključiti u svoju sinkronizaciju i izuzeti datoteke i mape s kojima ne želite biti preneseno.
Ovdje, u ovom primjeru, naredba rsync uključivat će samo one datoteke i direktorij koji počinju s ‘R’I isključiti sve ostale datoteke i direktorij.
[[zaštićena e -pošta]]# rsync -avze ssh --include 'R*' --exclude '*' [zaštićena e -pošta]:/var/lib/rpm//root/rpm [zaštićena e -pošta]'s lozinka: primanje inkrementalnog popisa datoteka izrađen direktorij/root/rpm ./ Requirename Requireversion poslano 67 bytes primljeno 167289 bytes 7438.04 bytes/sec ukupna veličina je 434176 speedup je 2,59
Ako datoteka ili imenik ne postoje u izvoru, ali već postoje na odredištu, možda ćete htjeti izbrisati tu postojeću datoteku/direktorij na cilju tijekom sinkronizacije.
Možemo koristiti '-izbrisati‘Mogućnost brisanja datoteka koje se ne nalaze u izvornom direktoriju.
Izvor i cilj su sinkronizirani. Sada se stvara nova datoteka test.txt na meti.
[[zaštićena e -pošta]]# touch test.txt. [[zaštićena e -pošta]]# rsync -avz --delete [zaštićena e -pošta]:/var/lib/o/min/. Lozinka: prima popis datoteka... učinjeno. brisanje test.txt. ./ poslano 26 bajtova primljeno 390 bajtova 48,94 bajta/sek. ukupna veličina je 45305958 ubrzanje je 108908,55
Target ima novu datoteku koja se zove test.txt, pri sinkronizaciji s izvorom s '-izbrisati‘Opcija, uklonila je datoteku test.txt.
Možete odrediti Maks veličina datoteke za prijenos ili sinkronizaciju. To možete učiniti pomoću "–Max veličina”Opciju. Ovdje u ovom primjeru najveća veličina datoteke je 200 tisuća kuna, pa će ova naredba prenijeti samo one datoteke koje su jednake ili manje od 200 tisuća kuna.
[[zaštićena e -pošta]]# rsync -avzhe ssh --max -size = '200k'/var/lib/rpm/ [zaštićena e -pošta]:/root/tmprpm [zaštićena e -pošta]'s lozinka: slanje inkrementalnog popisa datoteka kreiranog direktorija/root/tmprpm ./ Ime sukoba Grupa Installtid Naziv Navedba Provizija Verzija Pubkeys Zahtijevana verzija Sha1header Sigmd5 Triggername __db.001 poslano 189.79K bajtova primljeno 224 bajtova 13.10K bajtova/sek ukupna veličina je 38.08M ubrzanje je 200.43
Pretpostavimo da sada imate glavni web poslužitelj i poslužitelj za izradu podataka, stvorili ste dnevnu sigurnosnu kopiju i sinkronizirao s vašim sigurnosnim poslužiteljem, sada ne želite zadržati tu lokalnu kopiju sigurnosne kopije na svom webu poslužitelja.
Dakle, hoćete li pričekati da se prijenos dovrši, a zatim ručno izbrisati tu lokalnu datoteku sigurnosne kopije? Naravno da ne. Ovo automatsko brisanje može se izvršiti pomoću '–Ukloni izvorne datoteke‘Opcija.
[[zaštićena e -pošta]]# rsync --remove-source-files -zvh backup.tar/tmp/backups/backup.tar poslano 14,71M bajtova primljeno 31 bajtova 4,20M bajtova/sek ukupna veličina je 16,18M ubrzanje je 1,10 [[zaštićena e -pošta]]# ll backup.tar ls: backup.tar: Nema takve datoteke ili direktorija
Ako ste tek početnik i koristite rsync i ne znate što će vaša naredba učiniti. Rsync bi zaista mogao zabrljati stvari u vašoj odredišnoj mapi, a zatim poništavanje može biti dosadan posao.
Predloženo čitanje:Kako sinkronizirati dva Apache web poslužitelja/web stranice pomoću Rsync
Korištenje ove opcije neće unijeti nikakve promjene, samo izvršite naredbu na suho i prikazuje izlaz naredbe, ako izlaz prikazuje točno ono što želite učiniti, tada možete ukloniti '-testno pokretanje‘Opciju iz vaše naredbe i pokrenite na terminalu.
[zaštićena e -pošta]]# rsync --dry-run --remove-source-files -zvh backup.tar/tmp/backups/backup.tar poslano 35 bajtova primljeno 15 bajtova 100,00 bajtova/sek ukupna veličina je 16,18M ubrzanje je 323584,00 (DRY RUN)
Ograničenje propusnosti možete postaviti tijekom prijenosa podataka s jednog stroja na drugi pomoću "–Bwlimit‘Opcija. Ove nam opcije pomažu ograničiti U/I propusnost.
[[zaštićena e -pošta]]# rsync --bwlimit = 100 -avzhe ssh/var/lib/rpm/ [zaštićena e -pošta]:/root/tmprpm/ [zaštićena e -pošta]'s lozinka: slanje inkrementalnog popisa datoteka. poslano 324 bajta primljeno 12 bajtova 61,09 bajtova/sek. ukupna veličina je 38,08 M ubrzanje je 113347,05
Također, prema zadanim postavkama rsync sinkronizira samo promijenjene blokove i bajtove, ako želite izričito želite sinkronizirati cijelu datoteku, tada koristite '-W‘Opcija uz to.
[[zaštićena e -pošta]]# rsync -zvhW backup.tar /tmp/backups/backup.tar. sigurnosna kopija.tar. poslano 14,71M bajtova primljeno 31 bajtova 3,27M bajtova/sek. ukupna veličina je 16,18M ubrzanje je 1,10
To je sve s rsync -om, vidite man stranice za više opcija. Ostanite povezani s Tecmint za uzbudljivije i zanimljivije vodiče u budućnosti. Ostavite svoje komentare i prijedlozi.