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.