Misalai 10 na Ayyuka na Dokar Rsync a cikin Linux


Rsync (Aiki tare na nesa) shine umarnin da aka fi amfani dashi don kwafi da aiki tare da fayiloli da kundayen adireshi daga nesa da kuma cikin gida a cikin tsarin Linux/Unix.

Tare da taimakon umarnin rsync, zaku iya kwafa da daidaita bayananku daga nesa da kuma cikin gida a cikin kundayen adireshi, fayafai, da cibiyoyin sadarwa, yin ajiyar bayanai, da madubi tsakanin injunan Linux guda biyu.

Wannan labarin yana bayanin asali guda 10 na asali da ci gaba na amfani da umarnin rsync don canja wurin fayilolinku daga nesa da kuma cikin gida a cikin injunan Linux na tushen. Ba kwa buƙatar zama tushen mai amfani don gudanar da umarnin rsync.

  • Yana kwafi sosai kuma yana daidaita fayiloli zuwa ko daga tsarin nesa.
  • Yana goyan bayan kwafin hanyoyin haɗin gwiwa, na'urori, masu mallaka, ƙungiyoyi, da izini.
  • Yana da sauri fiye da scp (Kwafin Tsaro) saboda rsync yana amfani da ƙa'idar sabunta nesa wanda ke ba da damar canja wurin kawai bambance-bambance tsakanin saitin fayiloli guda biyu. A karo na farko, yana kwafin duk abin da ke cikin fayil ko kundin adireshi daga tushe zuwa inda ake nufi amma daga lokaci na gaba, yana kwafin tubalan da bytes kawai da aka canza zuwa wurin da aka nufa.
  • Rsync yana amfani da ƙarancin amfani da bandwidth yayin da yake amfani da hanyar matsawa da ragewa yayin aikawa da karɓar bayanai akan ƙarshen duka.

# rsync options source destination

  • -v : magana
  • -r : kwafin bayanai akai-akai (amma kar a adana tambura da izini yayin canja wurin bayanai.
  • -a : Yanayin adana bayanai, wanda ke ba da damar kwafin fayiloli akai-akai kuma yana adana alamomin mahaɗi, izinin fayil, mallakar mai amfani & rukuni, da tambarin lokaci.
  • -z: damfara bayanan fayil.
  • -h : mutum-mai karantawa, lambobi masu fitarwa a tsarin mutum-wanda za'a iya karantawa.

Hakanan kuna iya son: Yadda ake Aiki tare da Fayiloli/Directories Ta amfani da Rsync tare da Madaidaicin SSH Port]

Sanya Rsync a cikin Tsarin Linux

Za mu iya shigar da kunshin rsync tare da taimakon umarni mai zuwa a cikin rarraba Linux ku.

$ sudo apt-get install rsync   [On Debian/Ubuntu & Mint] 
$ pacman -S rsync              [On Arch Linux]
$ emerge sys-apps/rsync        [On Gentoo]
$ sudo dnf install rsync       [On Fedora/CentOS/RHEL and Rocky Linux/AlmaLinux]
$ sudo zypper install rsync    [On openSUSE]

1. Kwafi/Aiki tare Files da Directory a gida

Umurni mai zuwa zai daidaita fayil guda akan injin gida daga wuri guda zuwa wani wuri. Anan a cikin wannan misali, sunan fayil backup.tar yana buƙatar kwafi ko daidaita shi zuwa /tmp/backups/ babban fayil.

 rsync -zvh backup.tar.gz /tmp/backups/

created directory /tmp/backups
backup.tar.gz

sent 224.54K bytes  received 70 bytes  449.21K bytes/sec
total size is 224.40K  speedup is 1.00

A cikin misalin da ke sama, zaku iya ganin cewa idan wurin ba a riga ya wanzu ba rsync zai ƙirƙiri kundin adireshi ta atomatik don wurin.

Umurni mai zuwa zai canza ko daidaita duk fayiloli daga kundin adireshi zuwa wani kundin adireshi daban a cikin injin guda. Anan a cikin wannan misalin,/tushen/rpmpkgs yana ƙunshe da wasu fayilolin fakitin rpm kuma kuna son a kwafi wannan directory cikin /tmp/backups/ babban fayil.

 rsync -avzh /root/rpmpkgs /tmp/backups/

sending incremental file list
rpmpkgs/
rpmpkgs/httpd-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/mod_ssl-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/nagios-4.4.6-4.el8.x86_64.rpm
rpmpkgs/nagios-plugins-2.3.3-5.el8.x86_64.rpm

sent 3.47M bytes  received 96 bytes  2.32M bytes/sec
total size is 3.74M  speedup is 1.08

2. Kwafi/Sync Files da Directory zuwa ko Daga Sabar

Wannan umarnin zai daidaita shugabanci daga injin gida zuwa na'ura mai nisa. Misali, akwai babban fayil a cikin kwamfutar ku ta gida \rpmpkgs wanda ke ƙunshe da wasu fakitin RPM kuma kuna son abun cikin kundin adireshin gida ya aika zuwa sabar mai nisa, zaku iya amfani da umarni mai zuwa.

 rsync -avzh /root/rpmpkgs [email :/root/

The authenticity of host '192.168.0.141 (192.168.0.141)' can't be established.
ED25519 key fingerprint is SHA256:bH2tiWQn4S5o6qmZhmtXcBROV5TU5H4t2C42QDEMx1c.
This key is not known by any other names
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.0.141' (ED25519) to the list of known hosts.
[email 's password: 
sending incremental file list
rpmpkgs/
rpmpkgs/httpd-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/mod_ssl-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/nagios-4.4.6-4.el8.x86_64.rpm
rpmpkgs/nagios-plugins-2.3.3-5.el8.x86_64.rpm

sent 3.74M bytes  received 96 bytes  439.88K bytes/sec
total size is 3.74M  speedup is 1.00

Wannan umarnin zai taimaka muku daidaita kundi mai nisa zuwa kundin adireshin gida. Anan a cikin wannan misalin, directory /root/rpmpkgs wanda ke kan uwar garken nesa ana yin kwafin a cikin kwamfutar ku a /tmp/myrpms.

 rsync -avzh [email :/root/rpmpkgs /tmp/myrpms

[email 's password: 
receiving incremental file list
created directory /tmp/myrpms
rpmpkgs/
rpmpkgs/httpd-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/mod_ssl-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
rpmpkgs/nagios-4.4.6-4.el8.x86_64.rpm
rpmpkgs/nagios-plugins-2.3.3-5.el8.x86_64.rpm

sent 104 bytes  received 3.49M bytes  997.68K bytes/sec
total size is 3.74M  speedup is 1.07

3. Rsync Sama da SSH

Tare da rsync, za mu iya amfani da SSH (Secure Shell) don canja wurin bayanai, ta amfani da ka'idar SSH yayin canja wurin bayananmu za a iya tabbatar da cewa ana canja wurin bayanan ku cikin amintaccen haɗi tare da ɓoyewa ta yadda babu wanda zai iya karanta bayanan ku yayin da ake canjawa wuri. akan waya akan intanet.

[Za ku iya kuma son: Yadda ake Aminta da Harden OpenSSH Server]

Hakanan lokacin da muke amfani da rsync muna buƙatar samar da kalmar sirrin mai amfani/tushen don cim ma wannan takamaiman aiki, don haka amfani da zaɓi na SSH zai aika da shiga cikin hanyar ɓoye don kalmar sirri ta zama lafiya.

Don ƙayyade yarjejeniya tare da rsync kuna buƙatar ba da zaɓin \-e tare da sunan ƙa'idar da kuke son amfani da shi. Anan a cikin wannan misalin, Za mu yi amfani da \ssh tare da zaɓin \-e kuma muyi aiki. canja wurin bayanai.

 rsync -avzhe ssh [email :/root/anaconda-ks.cfg /tmp

[email 's password: 
receiving incremental file list
anaconda-ks.cfg

sent 43 bytes  received 1.10K bytes  325.43 bytes/sec
total size is 1.90K  speedup is 1.67
 rsync -avzhe ssh backup.tar.gz [email :/backups/

[email 's password: 
sending incremental file list
created directory /backups
backup.tar.gz

sent 224.59K bytes  received 66 bytes  64.19K bytes/sec
total size is 224.40K  speedup is 1.00

Hakanan kuna iya son: Yadda ake Amfani da Rsync don Daidaita Sabbin ko Canja/Fayilolin Gyara a Linux.

4. Nuna Ci gaba Yayin Canja wurin Bayanai tare da rsync

Don nuna ci gaban yayin canja wurin bayanai daga na'ura ɗaya zuwa na'ura daban, za mu iya amfani da zaɓin '-ci gaba'. Yana nuna fayilolin da sauran lokacin don kammala canja wuri.

 rsync -avzhe ssh --progress /root/rpmpkgs [email :/root/rpmpkgs

[email 's password: 
sending incremental file list
rpmpkgs/
rpmpkgs/httpd-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
          1.47M 100%   31.80MB/s    0:00:00 (xfr#1, to-chk=3/5)
rpmpkgs/mod_ssl-2.4.37-40.module_el8.5.0+852+0aafc63b.x86_64.rpm
        138.01K 100%    2.69MB/s    0:00:00 (xfr#2, to-chk=2/5)
rpmpkgs/nagios-4.4.6-4.el8.x86_64.rpm
          2.01M 100%   18.45MB/s    0:00:00 (xfr#3, to-chk=1/5)
rpmpkgs/nagios-plugins-2.3.3-5.el8.x86_64.rpm
        120.48K 100%    1.04MB/s    0:00:00 (xfr#4, to-chk=0/5)

sent 3.74M bytes  received 96 bytes  1.50M bytes/sec
total size is 3.74M  speedup is 1.00

5. Amfani da -haɗa da -ban Zaɓuɓɓuka

Waɗannan zaɓuɓɓukan guda biyu suna ba mu damar haɗawa da ware fayiloli ta hanyar tantance sigogi tare da waɗannan zaɓin suna taimaka mana mu tantance waɗancan fayiloli ko kundayen adireshi waɗanda kuke son haɗawa a cikin daidaitawar ku kuma keɓe fayiloli da manyan fayiloli tare da ku ba kwa son a canza su.

Anan a cikin wannan misalin, umarnin rsync zai haɗa da waɗancan fayiloli da kundin adireshi kawai wanda ke farawa da 'R' kuma ya ware duk sauran fayiloli da kundin adireshi.

 rsync -avze ssh --include 'R*' --exclude '*' [email :/var/lib/rpm/ /root/rpm

[email 's password: 
receiving incremental file list
created directory /root/rpm
./
Requirename

sent 61 bytes  received 273,074 bytes  60,696.67 bytes/sec
total size is 761,856  speedup is 2.79

6. Amfani da -share Zaɓin

Idan fayil ko kundin adireshi ba ya wanzu a tushen, amma ya riga ya wanzu a wurin da aka nufa, kuna iya share wancan fayil ɗin da ke akwai a wurin da ake hari yayin aiki tare.

Za mu iya amfani da zaɓin ''-share' don share fayilolin da ba su nan a cikin kundin tushe.

Tushen da manufa suna aiki tare. Yanzu ƙirƙirar sabon fayil test.txt a manufa.

 cd /root/rpm/
 touch test.txt
 rsync -avz --delete [email :/var/lib/rpm/ /root/rpm/

[email 's password: 
receiving incremental file list
deleting test.txt
./
.dbenv.lock
.rpm.lock
Basenames
Conflictname
Dirnames
Enhancename
Filetriggername
Group
Installtid
Name
Obsoletename
Packages
Providename
Sha1header
Sigmd5
Suggestname
Supplementname
Transfiletriggername
Triggername
__db.001
__db.002
__db.003

sent 445 bytes  received 18,543,954 bytes  2,472,586.53 bytes/sec
total size is 71,151,616  speedup is 3.84

Target yana da sabon fayil ɗin da ake kira test.txt, lokacin aiki tare da tushen tare da zaɓin ''-share', ya cire gwajin fayil ɗin.txt.

7. Saita Matsakaicin Girman Fayiloli don Canja wurin

Kuna iya ƙididdige girman girman fayil ɗin da za'a canjawa ko aiki tare. Kuna iya yin shi tare da zaɓin \–max-size.

 rsync -avzhe ssh --max-size='200k' /var/lib/rpm/ [email :/root/tmprpm

[email 's password: 
sending incremental file list
created directory /root/tmprpm
./
.dbenv.lock
.rpm.lock
Conflictname
Enhancename
Filetriggername
Group
Installtid
Name
Obsoletename
Recommendname
Requirename
Sha1header
Sigmd5
Suggestname
Supplementname
Transfiletriggername
Triggername
__db.002

sent 129.52K bytes  received 396 bytes  28.87K bytes/sec
total size is 71.15M  speedup is 547.66

8. Share fayiloli ta atomatik bayan Canja wurin Nasara

Yanzu, a ce kuna da babban sabar gidan yanar gizo da uwar garken ajiyar bayanai, kun ƙirƙiri madadin kullun kuma kun daidaita shi tare da sabar madadin ku, yanzu ba kwa son adana kwafin na gida a sabar gidan yanar gizon ku.

Don haka, za ku jira don kammala canja wuri sannan ku share wancan fayil ɗin madadin gida da hannu? Tabbas NO. Ana iya yin wannan shafewar ta atomatik ta amfani da zaɓin ''-remove-source-files'.

 rsync --remove-source-files -zvh backup.tar.gz [email :/tmp/backups/

[email 's password: 
backup.tar.gz

sent 795 bytes  received 2.33K bytes  894.29 bytes/sec
total size is 267.30K  speedup is 85.40

 ls -l backup.tar.gz

ls: cannot access 'backup.tar.gz': No such file or directory

9. Yi Dry Run tare da rsync

Idan kun kasance sabon mai amfani da rsync kuma ba ku san ainihin abin da umarnin ku zai yi ba. Rsync na iya rikitar da abubuwan da ke cikin babban fayil ɗin da za ku tafi sannan kuma yin gyara na iya zama aiki mai wahala.

[Kila kuma son: Yadda ake Haɗa Sabar Yanar Gizo/Shafukan yanar gizo na Apache Biyu Ta amfani da Rsync]

Amfani da wannan zaɓin ba zai yi wani canje-canje ga fayilolin ba kuma yana nuna fitowar umarnin, idan fitarwar ta nuna daidai da abin da kuke son yi to zaku iya cire zaɓin '–bushe-run' daga umarnin ku kuma kunna kan tasha.

 rsync --dry-run --remove-source-files -zvh backup.tar.gz [email :/tmp/backups/

[email 's password: 
backup.tar.gz

sent 50 bytes  received 19 bytes  19.71 bytes/sec
total size is 267.30K  speedup is 3,873.97 (DRY RUN)

10. Rsync Saita Iyakar Bandwidth da Canja wurin Fayil

Kuna iya saita iyakar bandwidth yayin canja wurin bayanai daga injin guda zuwa wata na'ura tare da taimakon zaɓin ''-bwlimit'. Wannan zaɓin yana taimaka mana mu iyakance bandwidth I/O.

 rsync --bwlimit=100 -avzhe ssh  /var/lib/rpm/  [email :/root/tmprpm/
[email 's password:
sending incremental file list
sent 324 bytes  received 12 bytes  61.09 bytes/sec
total size is 38.08M  speedup is 113347.05

Hakanan, ta hanyar tsohowar rsync syncs canza tubalan da bytes kawai, idan kuna son a zahiri kuna son daidaita fayil ɗin gabaɗaya sannan kuyi amfani da zaɓin '-W' tare da shi.

 rsync -zvhW backup.tar /tmp/backups/backup.tar
backup.tar
sent 14.71M bytes  received 31 bytes  3.27M bytes/sec
total size is 16.18M  speedup is 1.10

Wannan shi ke tare da rsync yanzu, zaku iya ganin shafukan mutum don ƙarin zaɓuɓɓuka. Kasance da haɗin kai tare da Tecment don ƙarin koyawa masu kayatarwa da ban sha'awa a nan gaba. Ku bar tsokaci da shawarwarinku.