![Cum să vezi câți prieteni ai pe Snapchat](/f/fb065b4a7dd81c8d118372c454d53cc9.jpg?width=100&height=100)
Rsync (Sincronizare la distanță) este o comandă cea mai frecvent utilizată pentru copiere și sincronizând fișiere și directoare de la distanță precum și local în Linux/Unix sisteme. Cu ajutorul rsync comanda puteți copia și sincroniza datele dvs. de la distanță și local între directoare, peste discuri și rețele, puteți efectua copii de siguranță și oglindire între două mașini Linux.
Acest articol explică 10 utilizarea de bază și avansată a rsync comanda pentru a transfera fișierele de la distanță și local în Linux mașini pe bază. Nu trebuie să fii rădăcină utilizator să ruleze rsync comanda.
# rsync opțiuni sursă destinație
Putem instala rsync pachet cu ajutorul comenzii următoare.
# yum install rsync (Activat palarie rosiesisteme bazate pe) # apt-get install rsync (ActivatDebian sisteme bazate pe)
Această comandă următoare va sincroniza un singur fișier pe o mașină locală dintr-o locație în altă locație. Aici, în acest exemplu, un nume de fișier backup.tar trebuie copiat sau sincronizat cu /tmp/backups/ pliant.
[[e-mail protejat]] # rsync -zvh backup.tar / tmp / backups / director creat / tmp / backups backup.tar trimis 14,71M octeți primiți 31 octeți 3,27M octeți / sec dimensiunea totală este 16,18M accelerarea este 1,10
În exemplul de mai sus, puteți vedea că, dacă destinația nu există deja, rsync va crea automat un director pentru destinație.
Următoarea comandă va transfera sau sincroniza toate fișierele dintr-un director într-un director diferit în aceeași mașină. Aici, în acest exemplu, /root/rpmpkgs conține câteva fișiere pachet rpm și doriți ca acel director să fie copiat în interior /tmp/backups/ pliant.
[[e-mail protejat]] # rsync -avzh / root / rpmpkgs / tmp / backups / trimiterea listei de fișiere incrementale 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 trimis 4.99M octeți primiți 92 octeți 3.33M octeți / sec dimensiunea totală este de 4.99M viteza este 1.00
Această comandă va sincroniza un director de la o mașină locală la o mașină la distanță. De exemplu: Există un folder în computerul dvs. local „rpmpkgs”Care conține unele RPM pachete și doriți ca conținutul directorului local să fie trimis către un server la distanță, puteți utiliza următoarea comandă.
[[e-mail protejat]] $ rsync -avz rpmpkgs / [e-mail protejat]:/Acasă/ [e-mail protejat]parola: trimiterea listei de fișiere incrementale ./ 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 trimis 4993369 octeți primiți 91 octeți 399476,80 octeți / sec dimensiunea totală este 4991313 accelerarea este de 1,00
Această comandă vă va ajuta să sincronizați un director la distanță cu un director local. Aici, în acest exemplu, un director /home/tarunika/rpmpkgs care este pe un server la distanță este copiat în computerul dvs. local în /tmp/myrpms.
[[e-mail protejat]] # rsync -avzh [e-mail protejat]: / home / tarunika / rpmpkgs / tmp / myrpms [e-mail protejat]parola: primirea listei de fișiere incrementale create director / 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 trimis 91 octeți primiți 4,99M octeți 322,16K octeți / sec dimensiunea totală este de 4.99M viteza este 1.00
Cu rsync, putem folosi SSH (Secure Shell) pentru transferul de date, folosind SSH protocol în timp ce ne transferați datele, vă puteți asigura că datele dvs. sunt transferate într-un mod securizat conexiune cu criptare, astfel încât nimeni să nu vă poată citi datele în timp ce acestea sunt transferate prin cablul de pe Internet.
De asemenea, atunci când folosim rsync trebuie să furnizăm utilizator/rădăcină parola pentru a îndeplini acea sarcină specială, deci folosind SSH opțiunea vă va trimite datele de conectare într-un mod criptat, astfel încât parola va fi în siguranță.
Pentru a specifica un protocol cu rsync trebuie să dai „-e”Opțiune cu numele protocolului pe care doriți să îl utilizați. Aici, în acest exemplu, vom folosi „ssh" cu "-e”Și efectuați transferul de date.
[[e-mail protejat]] # rsync -avzhe ssh [e-mail protejat]: /root/install.log / tmp / [e-mail protejat]parola: primirea listei de fișiere incrementale install.log trimis 30 de octeți primiți 8,12 K octeți 1,48 K octeți / sec dimensiunea totală este de 30,74 K accelerarea este de 3,77
[[e-mail protejat]] # rsync -avzhe ssh backup.tar [e-mail protejat]: / backup-uri / [e-mail protejat]Parola: trimiterea listei de fișiere incrementale backup.tar trimis 14,71M octeți primiți 31 octeți 1,28M octeți / sec dimensiunea totală este 16,18M viteza este 1,10.
Citire sugerată:Utilizați Rsync pentru a sincroniza fișiere noi sau modificate / modificate în Linux
Pentru a arăta progresul în timp ce transferăm datele de la o mașină la o altă mașină, putem folosi „–Progresa ” opțiune pentru aceasta. Afișează fișierele și timpul rămas pentru finalizarea transferului.
[[e-mail protejat]] # rsync -avzhe ssh --progress / home / rpmpkgs [e-mail protejat]: / root / rpmpkgs [e-mail protejat]parola: trimiterea listei de fișiere incrementale create director / root / rpmpkgs rpmpkgs / rpmpkgs / httpd-2.2.3-82.el5.centos.i386.rpm 1.02M 100% 2.72MB / s 0:00:00 (xfer # 1, to-check = 3/5) rpmpkgs / mod_ssl-2.2.3-82.el5.centos.i386.rpm 99.04K 100% 241.19kB / s 0:00:00 (xfer # 2, to-check = 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) trimis 4.99M octeți primiți 92 octeți 475,56K octeți / sec dimensiunea totală este de 4,99M accelerarea este de 1,00
Aceste două opțiuni ne permit include și exclude prin specificarea parametrilor cu aceste opțiuni ne ajută să specificăm acele fișiere sau directoare pe care doriți să îl includeți în sincronizare și să excludeți fișiere și foldere cu dvs. nu doriți să fiți transferat.
Aici, în acest exemplu, comanda rsync va include acele fișiere și directoare care încep cu „RȘi excludeți toate celelalte fișiere și director.
[[e-mail protejat]] # rsync -avze ssh --include 'R *' --exclude '*' [e-mail protejat]: / var / lib / rpm / / root / rpm [e-mail protejat]Parola: primirea listei de fișiere incrementale creat director / rădăcină / rpm. / Nume cerere Reeversiune trimisă 67 octeți primiți 167289 octeți 7438,04 octeți / sec dimensiunea totală este 434176 accelerarea este 2,59
Dacă un fișier sau un director nu există la sursă, dar există deja la destinație, poate doriți să ștergeți acel fișier / director existent la țintă în timp ce sincronizați.
Putem folosi '-șterge‘Opțiunea de a șterge fișierele care nu se află în directorul sursă.
Sursa și ținta sunt sincronizate. Acum se creează un fișier nou test.txt la țintă.
[[e-mail protejat]] # touch test.txt. [[e-mail protejat]] # rsync -avz --delete [e-mail protejat]: / var / lib / rpm /. Parolă: se primește lista de fișiere... Terminat. ștergerea test.txt. ./ trimis 26 de octeți a primit 390 octeți 48,94 octeți / sec. dimensiunea totală este 45305958 viteza este 108908,55
Ținta are noul fișier numit test.txt, când se sincronizează cu sursa cu „-șterge‘Opțiune, a eliminat fișierul test.txt.
Puteți specifica Max dimensiunea fișierului care trebuie transferat sau sincronizat. O poți face cu „–Mărimea maximă" opțiune. Aici, în acest exemplu, dimensiunea maximă a fișierului este 200k, deci această comandă va transfera numai acele fișiere care sunt egale sau mai mici decât 200k.
[[e-mail protejat]] # rsync -avzhe ssh --max-size = '200k' / var / lib / rpm / [e-mail protejat]: / root / tmprpm [e-mail protejat]Parola: trimiterea listei de fișiere incrementale create director / root / tmprpm ./ Conflictname Group Installtid Name Provideversion Requireversion Sha1header Sigmd5 Triggername __db.001 trimis 189,79K octeți primiți 224 octeți 13,10K octeți / sec dimensiunea totală este 38,08M accelerarea este 200.43
Acum, să presupunem că aveți un server web principal și un server de backup de date, ați creat un backup zilnic și ați sincronizat-o cu serverul dvs. de backup, acum nu doriți să păstrați acea copie locală a backupului pe web Server.
Deci, așteptați finalizarea transferului și apoi ștergeți manual fișierul de rezervă local? Desigur nu. Această ștergere automată se poate face folosind „–Eliminați-fișierele sursă' opțiune.
[[e-mail protejat]] # rsync --remove-source-files -zvh backup.tar / tmp / backups / backup.tar trimis 14,71M octeți primiți 31 octeți 4,20M octeți / sec dimensiunea totală este 16,18M accelerarea este 1,10 [[e-mail protejat]] # ll backup.tar ls: backup.tar: Nu există un astfel de fișier sau director
Dacă sunteți un începător și utilizați rsync și nu știți ce face exact comanda dvs. Rsync ar putea deranja lucrurile din dosarul dvs. de destinație și apoi a face o anulare poate fi o treabă plictisitoare.
Citire sugerată:Cum să sincronizați două servere web / site-uri web Apache utilizând Rsync
Utilizarea acestei opțiuni nu va face modificări, doar efectuarea comenzii și afișarea rezultatului comenzii, dacă ieșirea arată exact același lucru pe care doriți să-l faceți, puteți elimina „–Funcție uscată‘Opțiune din comanda dvs. și rulați pe terminal.
[e-mail protejat]] # rsync --dry-run --remove-source-files -zvh backup.tar / tmp / backups / backup.tar trimis 35 de octeți primiți 15 octeți 100,00 octeți / sec.
Puteți seta limita lățimii de bandă în timp ce transferați date de la o mașină la alta mașină cu ajutorul ‘–Bwlimit' opțiune. Aceste opțiuni ne ajută să limităm I / O lățime de bandă.
[[e-mail protejat]] # rsync --bwlimit = 100 -avzhe ssh / var / lib / rpm / [e-mail protejat]: / root / tmprpm / [e-mail protejat]parola: trimiterea listei de fișiere incrementale. trimis 324 octeți primit 12 octeți 61,09 octeți / sec. dimensiunea totală este de 38,08M viteza este 113347,05
De asemenea, în mod implicit, rsync sincronizează numai blocurile și octeții modificați, dacă doriți în mod explicit să sincronizați întregul fișier, atunci utilizați „-W‘Opțiune cu ea.
[[e-mail protejat]] # rsync -zvhW backup.tar /tmp/backups/backup.tar. backup.tar. trimis 14,71M octeți primiți 31 octeți 3,27M octeți / sec. dimensiunea totală este de 16,18M viteza este de 1,10
Asta este tot cu rsync acum, puteți vedea pagini de om pentru mai multe opțiuni. Rămâneți conectat cu Tecmint pentru tutoriale mai interesante și mai interesante în viitor. Lasă-ți comentarii și sugestii.