ค้นหาเว็บไซต์

16 ตัวอย่างการใช้งานจริงของคำสั่ง Rsync ใน Linux


Rsync (Remote Sync) เป็นคำสั่งที่ใช้บ่อยที่สุดสำหรับการคัดลอกและซิงโครไนซ์ไฟล์และไดเรกทอรีจากระยะไกลและในเครื่องในระบบ Linux/Unix

ด้วยความช่วยเหลือของคำสั่ง rsync คุณสามารถคัดลอกและซิงโครไนซ์ข้อมูลของคุณจากระยะไกลและภายในเครื่องระหว่างไดเร็กทอรี ดิสก์ และเครือข่าย ทำการสำรองข้อมูล และมิเรอร์ระหว่างเครื่อง Linux สองเครื่อง

บทความนี้จะอธิบายการใช้คำสั่ง rsync ขั้นพื้นฐานและขั้นสูง 16 เพื่อถ่ายโอนไฟล์ของคุณจากระยะไกลและภายในเครื่องในเครื่อง ที่ใช้ Linux คุณไม่จำเป็นต้องเป็นผู้ใช้ รูท เพื่อรันคำสั่ง rsync

ข้อดีของคำสั่ง Rsync

มีข้อดีหลายประการ ได้แก่:

  • การถ่ายโอนไฟล์ที่มีประสิทธิภาพ – rsync ใช้อัลกอริธึมการถ่ายโอนแบบเดลต้า ซึ่งหมายความว่าจะถ่ายโอนเฉพาะความแตกต่างระหว่างไฟล์ต้นทางและปลายทางเท่านั้น ซึ่งจะลดปริมาณข้อมูลที่ถ่ายโอนลงอย่างมาก ทำให้มีประสิทธิภาพในการซิงค์ไฟล์หรือไดเรกทอรีขนาดใหญ่
  • การซิงโครไนซ์ไฟล์ระยะไกล – rsync รองรับการถ่ายโอนไฟล์ทั้งภายในเครื่องและระยะไกลผ่าน SSH ซึ่งช่วยให้สามารถซิงโครไนซ์ระหว่างระบบภายในและระบบระยะไกล หรือการมิเรอร์ไดเร็กทอรีข้ามเครื่องหลายเครื่อง
  • การสำรองข้อมูลส่วนเพิ่ม – rsync เหมาะอย่างยิ่งสำหรับการสำรองข้อมูลส่วนเพิ่ม เนื่องจากจะสร้างและอัปเดตการสำรองข้อมูลอย่างมีประสิทธิภาพโดยการถ่ายโอนเฉพาะไฟล์ใหม่หรือไฟล์ที่แก้ไขเท่านั้น
  • รักษาสิทธิ์ของไฟล์ – rsync สามารถรักษาคุณลักษณะของไฟล์ต่างๆ เช่น สิทธิ์ ความเป็นเจ้าของ การประทับเวลา และลิงก์สัญลักษณ์ ซึ่งช่วยให้มั่นใจได้ว่าไฟล์ที่คัดลอกจะคงลักษณะเฉพาะดั้งเดิมไว้ที่ปลายทาง
  • การควบคุมแบนด์วิธ – rsync ช่วยให้คุณสามารถจำกัดการใช้แบนด์วิดท์ในระหว่างการถ่ายโอนไฟล์ เนื่องจากจะใช้วิธีการบีบอัดและคลายการบีบอัดในขณะที่ส่งและรับข้อมูลทั้งสองด้าน
  • เร็วกว่า – rsync สามารถเร็วกว่า scp (Secure Copy) สำหรับการถ่ายโอนไฟล์ โดยเฉพาะอย่างยิ่งเมื่อซิงค์ไดเร็กทอรีขนาดใหญ่ หรือเมื่อต้องจัดการกับไฟล์ที่มีการโอนบางส่วนแล้วหรือมีอยู่บนปลายทาง

ไวยากรณ์คำสั่ง Rsync

คำสั่ง rsync เป็นไปตามไวยากรณ์ต่อไปนี้:

rsync [OPTIONS] SOURCE DESTINATION

ต่อไปนี้เป็นคำอธิบายเกี่ยวกับส่วนประกอบและตัวเลือกต่างๆ ที่ใช้กับคำสั่ง rsync:

  • -v – เอาต์พุตแบบละเอียด ซึ่งแสดงข้อมูลโดยละเอียดเกี่ยวกับการถ่ายโอน
  • -r – คัดลอกข้อมูลแบบวนซ้ำ (แต่ไม่รักษาการประทับเวลาและการอนุญาตขณะถ่ายโอนข้อมูล
  • -a – โหมดเก็บถาวร ซึ่งอนุญาตให้คัดลอกไฟล์แบบวนซ้ำ และยังรักษาลิงก์สัญลักษณ์ การอนุญาตของไฟล์ ความเป็นเจ้าของของผู้ใช้และกลุ่ม และการประทับเวลา
  • -z – บีบอัดไฟล์ระหว่างการถ่ายโอนเพื่อลดการใช้งานเครือข่าย
  • -h – ตัวเลขที่มนุษย์อ่านได้ และเอาต์พุตในรูปแบบที่มนุษย์สามารถอ่านได้
  • -P – แสดงความคืบหน้าระหว่างการโอน
  • SOURCE – ระบุไฟล์ต้นฉบับหรือไดเร็กทอรีที่จะถ่ายโอน ซึ่งอาจอยู่ในเครื่องหรือตำแหน่งระยะไกลก็ได้
  • DESTINATION – ระบุเส้นทางปลายทางที่จะคัดลอกไฟล์หรือไดเร็กทอรี เช่นเดียวกับแหล่งที่มา อาจเป็นเส้นทางในเครื่องหรือสถานที่ระยะไกลก็ได้

ติดตั้ง Rsync ในระบบ Linux

เราสามารถติดตั้งแพ็คเกจ rsync ได้ด้วยความช่วยเหลือของตัวจัดการแพ็คเกจต่อไปนี้ตามการกระจาย Linux ของคุณ

sudo apt install rsync         [On Debian, Ubuntu and Mint]
sudo yum install rsync         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/rsync  [On Gentoo Linux]
sudo apk add rsync            [On Alpine Linux]
sudo pacman -S rsync           [On Arch Linux]
sudo zypper install rsync      [On OpenSUSE]    

1. คัดลอก/ซิงค์ไฟล์ในเครื่อง

หากต้องการคัดลอกหรือซิงค์ไฟล์ในเครื่อง คุณสามารถใช้คำสั่งต่อไปนี้ซึ่งจะซิงค์ไฟล์เดียวบนเครื่องท้องถิ่นจากที่หนึ่งไปยังอีกที่หนึ่ง

ในตัวอย่างนี้ ชื่อไฟล์ backup.tar จำเป็นต้องคัดลอกหรือซิงค์กับโฟลเดอร์ /tmp/backups/

[root@tecmint]# 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

ในตัวอย่างข้างต้น คุณจะเห็นว่าหากไม่มีปลายทางอยู่แล้ว rsync จะสร้างไดเร็กทอรีสำหรับปลายทางโดยอัตโนมัติ

2. คัดลอก/ซิงค์ไดเร็กทอรีในเครื่อง

คำสั่งต่อไปนี้จะถ่ายโอนหรือซิงค์ไฟล์ทั้งหมดจากไดเร็กทอรีหนึ่งไปยังไดเร็กทอรีอื่นในเครื่องเดียวกัน

ในตัวอย่างนี้ /root/rpmpkgs มีไฟล์แพ็กเกจ rpm บางไฟล์ และคุณต้องการคัดลอกไดเร็กทอรีนั้นภายในโฟลเดอร์ /tmp/backups/

[root@tecmint]# 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

3. คัดลอกไดเรกทอรีจากภายในเครื่องไปยังเซิร์ฟเวอร์ระยะไกล

หากต้องการคัดลอกไดเร็กทอรีจากเซิร์ฟเวอร์ภายในเครื่องไปยังเซิร์ฟเวอร์ระยะไกล คุณสามารถใช้คำสั่งต่อไปนี้ ซึ่งจะซิงค์ไดเร็กทอรีจากภายในเครื่องไปยังเครื่องระยะไกล

ตัวอย่างเช่น หากมีโฟลเดอร์ในคอมพิวเตอร์ของคุณ “rpmpkgs ” ที่มีแพ็คเกจ RPM บางส่วน และหากคุณต้องการให้เนื้อหาของไดเรกทอรีในเครื่องส่ง ไปยังเซิร์ฟเวอร์ระยะไกล คุณสามารถใช้คำสั่งต่อไปนี้

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

4. คัดลอกไดเร็กทอรีจากระยะไกลไปยังเซิร์ฟเวอร์ภายในเครื่อง

คำสั่งนี้จะช่วยคุณซิงค์ไดเร็กทอรีระยะไกลกับไดเร็กทอรีในเครื่อง ในตัวอย่างนี้ ไดเรกทอรี /root/rpmpkgs ซึ่งอยู่บนเซิร์ฟเวอร์ระยะไกลกำลังถูกคัดลอกไปยังเครื่องคอมพิวเตอร์ของคุณใน /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

5. Rsync บน SSH

ด้วย rsync เราสามารถใช้ SSH (Secure Shell) สำหรับการถ่ายโอนข้อมูลได้ โดยใช้โปรโตคอล SSH ในขณะที่ถ่ายโอนข้อมูลของเรา คุณสามารถมั่นใจได้ว่าข้อมูลของคุณจะถูกถ่ายโอนในการเชื่อมต่อที่ปลอดภัย ด้วยการเข้ารหัสเพื่อให้ไม่มีใครสามารถอ่านข้อมูลของคุณในขณะที่กำลังถ่ายโอนผ่านสายบนอินเทอร์เน็ต

นอกจากนี้ เมื่อเราใช้ rsync เราจำเป็นต้องระบุรหัสผ่าน ผู้ใช้/รูท เพื่อทำงานนั้นให้สำเร็จ ดังนั้นการใช้ SSH ตัวเลือก จะส่งการเข้าสู่ระบบของคุณในลักษณะที่เข้ารหัสเพื่อให้ รหัสผ่าน ของคุณปลอดภัย

หากต้องการใช้ rsync บน SSH คุณสามารถใช้ตัวเลือก -e เพื่อระบุคำสั่งเชลล์ระยะไกล ซึ่งโดยทั่วไปจะเป็น ssh ตามที่แสดง

rsync [OPTIONS] -e ssh /path/to/source user@remote:/path/to/destination

6. คัดลอกไฟล์จากเซิร์ฟเวอร์ระยะไกลไปยังเซิร์ฟเวอร์ภายในเครื่องด้วย SSH

หากต้องการซิงโครไนซ์ไฟล์จากเซิร์ฟเวอร์ระยะไกลไปยังเซิร์ฟเวอร์ภายในเครื่อง คุณสามารถระบุโปรโตคอลด้วย rsync โดยใช้ตัวเลือก “-e ” พร้อมชื่อโปรโตคอลที่คุณต้องการใช้

ในตัวอย่างนี้ เราจะใช้ “ssh ” กับตัวเลือก “-e ” และดำเนินการถ่ายโอนข้อมูล

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

7. คัดลอกไฟล์จากเซิร์ฟเวอร์ภายในเครื่องไปยังเซิร์ฟเวอร์ระยะไกลด้วย SSH

หากต้องการซิงโครไนซ์ไฟล์จากเซิร์ฟเวอร์ภายในเครื่องไปยังเซิร์ฟเวอร์ระยะไกลโดยใช้ SSH คุณสามารถใช้คำสั่งต่อไปนี้ดังที่แสดง

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

8. แสดงความคืบหน้าขณะถ่ายโอนข้อมูลด้วย Rsync

หากต้องการแสดงความคืบหน้าขณะถ่ายโอนข้อมูลจากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง เราสามารถใช้ตัวเลือก '--progress' ซึ่งจะแสดงไฟล์และเวลาที่เหลืออยู่ในการถ่ายโอนให้เสร็จสิ้น

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

9. รวมไฟล์ที่มีนามสกุลเฉพาะด้วย Rsync

หากต้องการรวมไฟล์หรือรูปแบบเฉพาะระหว่างการดำเนินการ rsync คุณสามารถใช้ตัวเลือก --include พร้อมนามสกุลที่ตรงกับไฟล์ทั้งหมด

rsync -avz --include='*.txt' /path/to/source/ user@remote:/path/to/destination/

ในตัวอย่างที่ให้ไว้ rsync จะรวมเฉพาะไฟล์ที่มีนามสกุล .txt จากไดเร็กทอรี /path/to/source/ ในระหว่างการถ่ายโอน

10. ยกเว้นไฟล์ที่มีนามสกุลเฉพาะด้วย Rsync

ในทำนองเดียวกัน หากต้องการยกเว้นส่วนขยายเฉพาะระหว่างการดำเนินการ rsync คุณสามารถใช้ตัวเลือก --exclude ด้วยรูปแบบไวด์การ์ด

rsync -avz --exclude='*.ext' /path/to/source/ user@remote:/path/to/destination/

ในตัวอย่างที่ให้มา rsync จะยกเว้นไฟล์ที่มีนามสกุล (*.ext) ที่ระบุในระหว่างการถ่ายโอน ในขณะที่รวมไฟล์และไดเร็กทอรีอื่นๆ ทั้งหมดไว้ด้วย

11. รวมและแยกไฟล์ด้วย Rsync

หากต้องการรวมและยกเว้นไฟล์หรือรูปแบบเฉพาะระหว่างการดำเนินการ rsync คุณสามารถใช้ทั้งตัวเลือก --include และ --exclude ด้วยรูปแบบ wildcard ที่เหมาะสม

สองตัวเลือกนี้ช่วยให้เราสามารถ รวม และ ยกเว้น ไฟล์โดยการระบุพารามิเตอร์ ตัวเลือกเหล่านี้ช่วยให้เราระบุไฟล์หรือไดเรกทอรีที่คุณต้องการรวมในการซิงค์ของคุณ และยกเว้นไฟล์และโฟลเดอร์ ที่คุณไม่ต้องการโอน

ในตัวอย่างนี้ คำสั่ง rsync จะรวมเฉพาะไฟล์และไดเร็กทอรีที่ขึ้นต้นด้วย 'R' และไม่รวมไฟล์และไดเร็กทอรีอื่นๆ ทั้งหมด

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

12. การใช้ตัวเลือก –delete กับ Rsync

หากไม่มีไฟล์หรือไดเร็กทอรีอยู่ที่ต้นทาง แต่มีอยู่แล้วที่ปลายทาง คุณอาจต้องการลบไฟล์/ไดเร็กทอรีที่มีอยู่ที่เป้าหมายขณะทำการซิงค์

เราสามารถใช้ตัวเลือก '--delete' เพื่อลบไฟล์ที่ไม่มีอยู่ในไดเร็กทอรีต้นทาง

แหล่งที่มาและเป้าหมายซิงค์กัน ตอนนี้สร้างไฟล์ใหม่ test.txt ที่เป้าหมาย

[root@tecmint:~]# cd /root/rpm/
[root@tecmint:~/rpm]# touch test.txt
[root@tecmint:~/rpm]# 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 มีไฟล์ใหม่ชื่อ test.txt เมื่อซิงโครไนซ์กับแหล่งที่มาด้วยตัวเลือก '–delete' เป้าหมายก็จะลบไฟล์ test.txt .

13. ตั้งค่าขีดจำกัดการถ่ายโอนไฟล์ด้วย Rsync

คุณสามารถระบุขนาดไฟล์ สูงสุด ที่จะโอนหรือซิงค์ได้ คุณสามารถทำได้ด้วยตัวเลือก “--max-size ” ในตัวอย่างนี้ ขนาดไฟล์สูงสุดคือ 200k ดังนั้นคำสั่งนี้จะถ่ายโอนเฉพาะไฟล์ที่เท่ากับหรือเล็กกว่า 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

14. ลบไฟล์ต้นฉบับโดยอัตโนมัติหลังจากถ่ายโอน

ตอนนี้ สมมติว่าคุณมีเว็บเซิร์ฟเวอร์หลักและเซิร์ฟเวอร์สำรองข้อมูล คุณสร้างการสำรองข้อมูลรายวันและซิงค์กับเซิร์ฟเวอร์สำรองของคุณ แต่ตอนนี้คุณไม่ต้องการเก็บสำเนาข้อมูลสำรองในเครื่องไว้ในเว็บเซิร์ฟเวอร์ของคุณ

ดังนั้น คุณจะรอให้การถ่ายโอนเสร็จสิ้นแล้วลบไฟล์สำรองข้อมูลในเครื่องด้วยตนเองหรือไม่ แน่นอนหมายเลข การลบอัตโนมัตินี้สามารถทำได้โดยใช้ตัวเลือก '--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

[root@tecmint:~]# ls -l backup.tar.gz

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

15. ทำการวิ่งแบบแห้งด้วย Rsync

หากคุณเป็นมือใหม่ที่ใช้ rsync และไม่รู้ว่าคำสั่งของคุณจะทำอะไรกันแน่ Rsync อาจทำให้สิ่งต่าง ๆ ในโฟลเดอร์ปลายทางของคุณยุ่งเหยิงได้จริง ๆ และการเลิกทำอาจเป็นงานที่น่าเบื่อ

การใช้ตัวเลือกนี้จะไม่ทำการเปลี่ยนแปลงใดๆ กับไฟล์และแสดงผลลัพธ์ของคำสั่ง หากผลลัพธ์แสดงเหมือนกับที่คุณต้องการทำทุกประการ คุณสามารถลบคำสั่ง '--dry-run ออกได้ ' ตัวเลือกจากคำสั่งของคุณและรันบนเทอร์มินัล

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)

16. Rsync ตั้งค่าขีดจำกัดแบนด์วิธและถ่ายโอนไฟล์

คุณสามารถตั้งค่าขีดจำกัดแบนด์วิธขณะถ่ายโอนข้อมูลจากเครื่องหนึ่งไปยังอีกเครื่องหนึ่งได้โดยใช้ตัวเลือก '--bwlimit' ตัวเลือกนี้ช่วยให้เราจำกัดแบนด์วิดท์ 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

นอกจากนี้ ตามค่าเริ่มต้น การซิงค์ rsync จะเปลี่ยนบล็อกและไบต์เท่านั้น หากคุณต้องการซิงค์ไฟล์ทั้งหมดอย่างชัดเจน คุณจะต้องใช้ตัวเลือก '-W' กับมัน

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
บทสรุป

ซึ่งเป็นการสรุปภาพรวมของ rsync และความสามารถของมัน สำหรับการสำรวจตัวเลือกและฟังก์ชันการทำงานที่หลากหลายเพิ่มเติม ฉันขอแนะนำให้คุณดูหน้าคู่มือที่ครอบคลุม (หน้าคู่มือ) ที่มีให้