Ihe atụ 10 bara uru nke iwu Rsync na Linux
Rsync (Mmekọrịta Remote) bụ iwu a na-ejikarị maka idetu na imekọrịta faịlụ na akwụkwọ ndekọ aha na mpaghara na sistemụ Linux/Unix.
Site n'enyemaka nke iwu rsync, ị nwere ike idetuo na mekọrịta data gị n'ime ime na mpaghara n'ofe akwụkwọ ndekọ aha, diski na netwọkụ, mee nkwado ndabere data na enyo n'etiti igwe Linux abụọ.
Edemede a na-akọwa 10 isi na elu ojiji nke iwu rsync iji bufee faịlụ gị n'ime ime na mpaghara na igwe Linux dabere. Ịkwesighi ịbụ onye ọrụ mgbọrọgwụ iji mee iwu rsync.
- Ọ na-eṅomi nke ọma na mekọrịta faịlụ gaa na ma ọ bụ site na sistemụ dịpụrụ adịpụ.
- Na-akwado nnomi njikọ, ngwaọrụ, ndị nwe, otu na ikike.
- Ọ dị ngwa karịa scp (Ntụgharị echekwara) n'ihi na rsync na-eji usoro mmelite imelite nke na-enye ohere ịnyefe naanị ọdịiche dị n'etiti ụdị faịlụ abụọ. Oge mbụ, ọ na-eṅomi ọdịnaya niile nke faịlụ ma ọ bụ akwụkwọ ndekọ aha site na isi iyi ruo ebe mana site na oge ọzọ, ọ na-eṅomi naanị blọk na bytes gbanwere gaa ebe a na-aga.
- Rsync na-eri obere bandwidth ojiji ka ọ na-eji usoro mkpakọ na decompression mgbe ọ na-eziga ma na-anata data na nsọtụ abụọ ahụ.
# rsync options source destination
- -v : okwu ọnụ
- -r : detuo data ugboro ugboro (mana echekwala akara oge na ikike mgbe ị na-ebufe data.
- -a : ọnọdụ ebe nchekwa, nke na-enye ohere ịdegharị faịlụ ugboro ugboro yana ọ na-echekwa njikọ ihe atụ, ikike faịlụ, nwe onye ọrụ na otu, yana akara oge.
- -z : mpikota onu faịlụ.
- -h : mmadụ-nwere ike ịgụ, nọmba mmepụta n'ụdị mmadụ nwere ike ịgụ.
[Ị nwekwara ike ịmasị: Otu esi emekọrịta faịlụ/akwụkwọ ndekọ site na iji Rsync na ọdụ ụgbọ mmiri SSH na-abụghị ọkọlọtọ]
Wụnye Rsync na sistemụ Linux
Anyị nwere ike iwunye ngwugwu rsync site n'enyemaka nke iwu a na nkesa Linux gị.
$ sudo apt-get install rsync [On Debian/Ubuntu & Mint] $ pacman -S rsync [On Arch Linux] $ emerge sys-apps/rsync [On Gentoo] $ sudo yum install rsync [On Fedora/CentOS/RHEL and Rocky Linux/AlmaLinux] $ sudo zypper install rsync [On openSUSE]
1. Detuo/mekọrịta faịlụ na ndekọ mpaghara
Iwu na-esonụ ga-ejikọta otu faịlụ na igwe mpaghara site n'otu ebe gaa na ebe ọzọ. N'ebe a n'ihe atụ a, ọ dị mkpa ka edepụtaghachi ma ọ bụ mekọrịta aha faịlụ backup.tar na /tmp/backups/ folder.
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
N'ihe atụ dị n'elu, ị nwere ike ịhụ na ọ bụrụ na ebe a na-aga adịghị adị, rsync ga-emepụta ndekọ na-akpaghị aka maka ebe ị ga-aga.
Iwu na-esote ga-ebufe ma ọ bụ mekọrịta faịlụ niile site na otu ndekọ aha gaa na ndekọ dị iche n'otu igwe. N'ebe a na ihe atụ a,/mgbọrọgwụ/rpmpkgs nwere ụfọdụ faịlụ ngwugwu rpm ma ịchọrọ ka e depụtaghachi ndekọ ahụ n'ime /tmp/backups/ folder.
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. Detuo/mmekọrịta faịlụ na ndekọ na ma ọ bụ Site na nkesa
Iwu a ga-emekọrịta ndekọ aha site na igwe mpaghara gaa na igwe dịpụrụ adịpụ. Dịka ọmụmaatụ, enwere folda dị na kọmpụta mpaghara gị \rpmpkgs nke nwere ụfọdụ ngwugwu RPM ma ịchọrọ ka ọdịnaya ndekọ mpaghara na-eziga na sava dịpụrụ adịpụ, ị nwere ike iji iwu a.
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
Iwu a ga-enyere gị aka ịmekọrịta ndekọ dịpụrụ adịpụ na ndekọ ndekọ mpaghara. N'ebe a n'ihe atụ a, a na-eṅomi ndekọ ndekọ/mgbọrọgwụ/rpmpkgs nke dị na sava dịpụrụ adịpụ na kọmputa gị na /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 karịrị SSH
Site na rsync, anyị nwere ike iji SSH (Secure Shell) maka ịnyefe data, site na iji SSH protocol mgbe ị na-ebufe data anyị, ị nwere ike hụ na a na-ebufe data gị na njikọ echekwara na nzuzo ka onye ọ bụla ghara ịgụ data gị mgbe a na-ebufe ya. n'elu waya na ịntanetị.
[Ị nwekwara ike ịmasị: Otu esi echekwa ma sie ike OpenSSH Server]
Ọzọkwa mgbe anyị na-eji rsync anyị kwesịrị ịnye onye ọrụ/mgbọrọgwụ paswọọdụ iji rụzuo ọrụ ahụ, yabụ iji nhọrọ SSH ga-eziga nbanye gị n'ụzọ ezoro ezo ka paswọọdụ gị wee dị mma.
Iji kọwapụta protocol na rsync ịkwesịrị ịnye nhọrọ \-e na aha protocol ịchọrọ iji. N'ebe a, anyị ga-eji ssh na nhọrọ \-e wee rụọ ọrụ. nyefe data.
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
[Ị nwekwara ike ịmasị: Otu esi eji Rsync ka ịmekọrịta faịlụ ọhụrụ ma ọ bụ gbanwee/gbanwee na Linux]
4. Gosi ọganihu ka ị na-ebufe data na rsync
Iji gosi ọganihu mgbe ị na-ebufe data site na otu igwe gaa na igwe dị iche, anyị nwere ike iji nhọrọ '-ọganihu'. Ọ na-egosiputa faịlụ na oge fọdụrụ iji wuchaa nyefe.
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. Iji -gụnyere na -wepu Nhọrọ
Nhọrọ abụọ a na-enye anyị ohere ịgụnye na wepu faịlụ site na ịkọwapụta paramita na nhọrọ ndị a na-enyere anyị aka ịkọwa faịlụ ma ọ bụ akwụkwọ ndekọ aha ndị ịchọrọ itinye na mmekọrịta gị wee wepụ faịlụ na nchekwa na ị chọghị ka ebufe gị.
N'ebe a n'ihe atụ a, iwu rsync ga-agụnye faịlụ na ndekọ naanị nke na-amalite na 'R' ma wepụ faịlụ na ndekọ ndị ọzọ niile.
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. Iji --ehichapụ Nhọrọ
Ọ bụrụ na faịlụ ma ọ bụ akwụkwọ ndekọ aha adịghị na isi mmalite, mana ọ dịlarị na ebe a na-aga, ịnwere ike ihichapụ faịlụ/akwụkwọ ndekọ aha dị na ebumnuche mgbe ị na-emekọrịta.
Anyị nwere ike iji nhọrọ '-ehichapụ' ka ihichapụ faịlụ ndị na-anọghị na akwụkwọ ndekọ aha.
Isi mmalite na ebumnuche na-ejikọta. Ugbu a mepụta faịlụ ọhụrụ test.txt na ebumnuche.
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 nwere faịlụ ọhụrụ a na-akpọ test.txt, mgbe ị na-emekọrịta ya na isi iyi ya na nhọrọ '-ehichapụ', ọ wepụrụ ule faịlụ.txt.
7. Tọọ Max Size nke faịlụ na-ebufe
Ị nwere ike ezipụta nha faịlụ Max ka ebufe ma ọ bụ mekọrịta. Ị nwere ike ime ya na nhọrọ \–max-size N'ebe a ọmụmaatụ, nha faịlụ Max bụ 200k, yabụ iwu a ga-ebufe naanị faịlụ ndị ha nhata ma ọ bụ obere karịa 200k.
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. Akpaaka Hichapụ isi iyi Files Mgbe Ịga nke Ọma Nyefee
Ugbu a, ọ bụrụ na ị nwere isi ihe nkesa weebụ na ihe nkesa ndabere data, ị mepụtara nkwado ndabere kwa ụbọchị ma mekọrịta ya na ihe nkesa ndabere gị, ugbu a ị chọghị idobe nkwado ndabere nke mpaghara ahụ na sava weebụ gị.
Yabụ, ị ga-echere ka mbufe ahụ mezue wee hichapụ faịlụ ndabere mpaghara ahụ na aka gị? N'ezie NO. Enwere ike ime nhichapụ akpaaka a site na iji nhọrọ '-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. Mee a Dry Run na rsync
Ọ bụrụ na ị bụ onye ọhụrụ na-eji rsync ma ị maghị ihe iwu gị ga-eme. Rsync nwere ike mebie ihe ndị dị na ebe nchekwa ebe ị na-aga ma emezigharị nwere ike bụrụ ọrụ na-agwụ ike.
[Ị nwekwara ike ịmasị: Otu esi emekọrịta sava weebụ/saịtị abụọ Apache site na iji Rsync]
Iji nhọrọ a agaghị eme mgbanwe ọ bụla na faịlụ ma gosipụta mmepụta nke iwu ahụ, ma ọ bụrụ na mmepụta ahụ gosipụtara otu ihe ahụ ịchọrọ ime mgbe ahụ ị nwere ike wepu nhọrọ '-dry-run' na iwu gị wee na-agba ọsọ na . Ọnụ.
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 Tọọ oke bandwit na nyefee faịlụ
Ị nwere ike ịtọ oke bandwit ka ị na-ebufe data site n'otu igwe gaa na igwe ọzọ site na enyemaka nke '-bwlimit'nhọrọ. Nhọrọ a na-enyere anyị aka ịmachi bandwit 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
Ọzọkwa, site na ndabara rsync syncs gbanwere blocks na bytes naanị, ọ bụrụ na ịchọrọ n'ụzọ doro anya ịchọrọ ịmekọrịta faịlụ niile, ị ga-eji ya '-W' nhọrọ.
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
Nke ahụ bụ ihe niile na rsync ugbu a, ị nwere ike ịhụ ibe mmadụ maka nhọrọ ndị ọzọ. Jikọọ na Tecment maka nkuzi na-atọ ụtọ karịa n'ọdịniihu. Hapụ okwu gị na aro gị.