คำสั่งนี้ควรเป็นสิ่งที่คุณต้องการ rsync
โดยค่าเริ่มต้นใช้สิ่งที่เรียกว่าอัลกอริทึมตรวจสอบอย่างรวดเร็ว:
Rsync ค้นหาไฟล์ที่ต้องถ่ายโอนโดยใช้อัลกอริทึม "ตรวจสอบอย่างรวดเร็ว" (โดยค่าเริ่มต้น) ที่ค้นหาไฟล์ที่มีการเปลี่ยนแปลงขนาดหรือในเวลาที่แก้ไขล่าสุด การเปลี่ยนแปลงใด ๆ ในคุณลักษณะที่เก็บรักษาไว้อื่น ๆ (ตามที่ร้องขอโดยตัวเลือก) จะทำในไฟล์ปลายทางโดยตรงเมื่อการตรวจสอบอย่างรวดเร็วบ่งชี้ว่าข้อมูลของไฟล์ไม่จำเป็นต้องได้รับการปรับปรุง
นี่มักจะใช้ได้ในแอปพลิเคชันส่วนใหญ่ มันเร็วกว่าวิธีทางเลือกซึ่งคำนวณการตรวจสอบสำหรับแต่ละไฟล์ วิธีที่สองนี้จะรับประกันความแตกต่างในการติดตามที่อาจเกิดจากวิธีแรก
ไม่ว่าในกรณีใด ๆrsync
จะไม่เก็บสำเนาหลาย ๆ ไฟล์เป็นเครื่องถ่ายเอกสาร / ซิงโครไนซ์ไฟล์โดยรวมซึ่งทำให้ไดเรกทอรีหนึ่งทำข้อมูลให้ตรงกันกับอีกไดเรกทอรีหนึ่งตามตัวเลือกที่คุณให้ไว้
วิธีการตรวจสอบ
หากคุณสงสัยว่านี่คือการสลับฉันใช้rsync
เพื่อทำการซิงค์ประเภทนี้:
$ rsync -avvz -O --stats --checksum --human-readable --acls \
--itemize-changes --progress \
--out-format='[%t] [%i] (Last Modified: %M) (bytes: %-10l) %-100n' \
"SRC" "DEST"
สิ่งนี้สร้างผลลัพธ์ประเภทนี้:
2014/02/20 09:51:49 INFO sending incremental file list
2014/02/20 09:51:49 INFO delta-transmission disabled for local transfer or --whole-file
2014/02/20 09:51:49 INFO [2014/02/20 09:51:48] [.d..t......] (Last Modified: 2014/02/19-15:51:34) (bytes: 0 ) ./
2014/02/20 09:51:49 INFO [2014/02/20 09:51:48] [>f+++++++++] (Last Modified: 2014/02/19-15:51:33) (bytes: 27981892 ) somefile.zip
27.98M 100% 82.27MB/s 0:00:00 (xfer#1, to-check=0/2) 0
2014/02/20 09:51:49 INFO total: matches=0 hash_hits=0 false_alarms=0 data=27981892
2014/02/20 09:51:49 INFO
2014/02/20 09:51:49 INFO rsync[25205] (sender) heap statistics:
2014/02/20 09:51:49 INFO arena: 1060864 (bytes from sbrk)
2014/02/20 09:51:49 INFO ordblks: 1 (chunks not in use)
2014/02/20 09:51:49 INFO smblks: 4
2014/02/20 09:51:49 INFO hblks: 1 (chunks from mmap)
2014/02/20 09:51:49 INFO hblkhd: 135168 (bytes from mmap)
2014/02/20 09:51:49 INFO allmem: 1196032 (bytes from sbrk + mmap)
2014/02/20 09:51:49 INFO usmblks: 0
2014/02/20 09:51:49 INFO fsmblks: 304
2014/02/20 09:51:49 INFO uordblks: 667008 (bytes used)
2014/02/20 09:51:49 INFO fordblks: 393856 (bytes free)
2014/02/20 09:51:49 INFO keepcost: 393552 (bytes in releasable chunk)
2014/02/20 09:51:49 INFO
2014/02/20 09:51:49 INFO rsync[25207] (server receiver) heap statistics:
2014/02/20 09:51:49 INFO arena: 286720 (bytes from sbrk)
2014/02/20 09:51:49 INFO ordblks: 2 (chunks not in use)
2014/02/20 09:51:49 INFO smblks: 3
2014/02/20 09:51:49 INFO hblks: 3 (chunks from mmap)
2014/02/20 09:51:49 INFO hblkhd: 667648 (bytes from mmap)
2014/02/20 09:51:49 INFO allmem: 954368 (bytes from sbrk + mmap)
2014/02/20 09:51:49 INFO usmblks: 0
2014/02/20 09:51:49 INFO fsmblks: 224
2014/02/20 09:51:49 INFO uordblks: 174480 (bytes used)
2014/02/20 09:51:49 INFO fordblks: 112240 (bytes free)
2014/02/20 09:51:49 INFO keepcost: 102352 (bytes in releasable chunk)
2014/02/20 09:51:49 INFO
2014/02/20 09:51:49 INFO rsync[25206] (server generator) heap statistics:
2014/02/20 09:51:49 INFO arena: 135168 (bytes from sbrk)
2014/02/20 09:51:49 INFO ordblks: 2 (chunks not in use)
2014/02/20 09:51:49 INFO smblks: 6
2014/02/20 09:51:49 INFO hblks: 2 (chunks from mmap)
2014/02/20 09:51:49 INFO hblkhd: 401408 (bytes from mmap)
2014/02/20 09:51:49 INFO allmem: 536576 (bytes from sbrk + mmap)
2014/02/20 09:51:49 INFO usmblks: 0
2014/02/20 09:51:49 INFO fsmblks: 400
2014/02/20 09:51:49 INFO uordblks: 82960 (bytes used)
2014/02/20 09:51:49 INFO fordblks: 52208 (bytes free)
2014/02/20 09:51:49 INFO keepcost: 32816 (bytes in releasable chunk)
2014/02/20 09:51:49 INFO
2014/02/20 09:51:49 INFO Number of files: 2
2014/02/20 09:51:49 INFO Number of files transferred: 1
2014/02/20 09:51:49 INFO Total file size: 27.98M bytes
2014/02/20 09:51:49 INFO Total transferred file size: 27.98M bytes
2014/02/20 09:51:49 INFO Literal data: 27.98M bytes
2014/02/20 09:51:49 INFO Matched data: 0 bytes
2014/02/20 09:51:49 INFO File list size: 93
2014/02/20 09:51:49 INFO File list generation time: 1.277 seconds
2014/02/20 09:51:49 INFO File list transfer time: 0.000 seconds
2014/02/20 09:51:49 INFO Total bytes sent: 27.99M
2014/02/20 09:51:49 INFO Total bytes received: 34
2014/02/20 09:51:49 INFO
2014/02/20 09:51:49 INFO sent 27.99M bytes received 34 bytes 11.20M bytes/sec
2014/02/20 09:51:49 INFO total size is 27.98M speedup is 1.00