โหมดเก็บถาวรใน rsync คืออะไร?


169

ฉันรู้ว่าคุณสามารถใช้-aหรือ--archiveเปิดใช้งานโหมดเก็บถาวรเมื่อใช้ rsync น่าเสียดายที่ฉันไม่รู้ว่าควรใช้โหมดการเก็บถาวรแบบใดและหน้าคนไม่ชัดเจนเลยว่านี่คืออะไร:

เท่ากับ -rlptgoD (ไม่ใช่ -H, -A, -X)

คุณสามารถอธิบายได้ว่าตัวเลือกเหล่านั้น ( rlptgoD) หมายถึงอะไรและพฤติกรรมของ rsync เมื่อฉันใช้มันคืออะไร?


คำตอบ:


203

มันคือทั้งหมดเหล่านี้:

-r, recursive recursive ในไดเรกทอรี

-l, - ลิงก์คัดลอก symlinks เป็น symlinks

-p, --perms สงวนสิทธิ์

-t, - เวลารักษาเวลาการแก้ไข

-g, - กลุ่มอนุรักษ์กลุ่ม

-o, - เจ้าของสงวนเจ้าของ (ผู้ใช้ขั้นสูงเท่านั้น)

-D เช่นเดียวกับ - อุปกรณ์ - ข้อกำหนด

- อุปกรณ์เก็บรักษาไฟล์อุปกรณ์ (ผู้ใช้ขั้นสูงเท่านั้น)

- ข้อกำหนดรักษาไฟล์พิเศษ

มันไม่รวม:

-H, - ฮาร์ดลิงก์รักษาฮาร์ดลิงก์

-A, - อนุญาตให้รักษา ACLs (หมายถึง -p)

-X, - xattrs รักษาแอตทริบิวต์เพิ่มเติม

เหมาะสำหรับการสำรองข้อมูล ชุดสวิตช์เริ่มต้นของฉันคือ-avzP- โหมดเก็บถาวรเป็น verbose ใช้การบีบอัดเก็บไฟล์บางส่วนคืบหน้าจอ

หมายเหตุ: เมื่อคำอธิบายว่า "คงไว้" อย่างต่อเนื่องหมายความว่าทำให้ปลายทางเป็นเหมือนแหล่งที่มา


25
+1 - ใช่มันอยู่ใน man page แต่ก็เป็นเรื่องดีที่ได้เห็นที่นี่พร้อมคำตอบสำหรับการอ้างอิงได้ง่าย
cwd

3
ง่ายกว่าการดูใน man page: P?
ซาลามี่

1
+1 สำหรับการแชร์ชุดค่าผสมสำหรับการสำรองข้อมูล (-avzP)
RoboAlex

1
ใช่ที่ไหนสักแห่งระหว่างทาง lmgtfy กลายเป็นง่ายกว่า man rsync
Stu

1
@xealits ตามหน้า manThe -P option is equivalent to --partial --progress.
Sutandiono

15

ตรวจสอบให้แน่ใจว่าการอนุญาตคุณลักษณะ ฯลฯ นั้นเหมือนกันทั้งสองด้าน rsync จะทำงานในลักษณะนั้นเท่านั้น ... หากคุณต้องการซิงโครไนซ์ไฟล์คุณต้องใช้พารามิเตอร์ -a

นี่เป็นเพราะ rsync เปรียบเทียบสิทธิ์คุณลักษณะและอื่น ๆ เหล่านี้ทั้งสองด้านเพื่อพิจารณาว่าเป็นไฟล์เดียวกันและตัดสินใจว่าควรอัปเดตหรือไม่ หากคุณใช้ rsync -r xxx yyy แทน rsync -a xxx yyy ไฟล์บางไฟล์จะถูกคัดลอกซ้ำแล้วซ้ำอีก coz, การอนุญาต, คุณสมบัติไม่ซิงค์กันและพลาดการจับคู่ทั้งสองด้าน ...


14

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

มันเหมือนกับการพิมพ์:

rsync -r -l -p -t -g -o -D

และง่ายต่อการจดจำ คุณสามารถค้นหาคำจำกัดความของสวิตช์เหล่านั้นได้ทั้งหมดใน man page

(ยัติภังค์จะเป็นตัวเลือกเมื่อคุณรวมสวิตช์ตัวเดียวหลายตัว)


8
ขอบคุณ แต่ฉันคิดว่าคุณไม่มีจุด คุณช่วยอธิบายการรวมตัวเลือกทั้งหมดที่มีโดยไม่ให้ฉันอ่านส่วนต่าง ๆ ของหน้า man ได้ 7 ส่วนซึ่งอาจหมายถึงส่วนอื่น ๆ ของหน้า man?
allyourcode

17
ฉันคิดว่าคุณพลาดจุดสำคัญที่ต้องอ่าน man page เพื่อให้รู้ว่าคุณกำลังทำอะไรอยู่ rsync มีตัวเลือกที่ทรงพลังมาก ๆ รวมถึงวิธีการลบไฟล์! มันเหมือนกับการขอความช่วยเหลือจากการใช้โต๊ะเลื่อยเพราะคุณไม่ชอบอ่านคู่มือการใช้งาน
David M

2
แน่นอนฉันไม่ชอบอ่านคู่มือการใช้งานเป็นครั้งที่ 100 เมื่อฉันสามารถอ้างถึง cheatsheet แทน
CivFan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.