เรียกใช้ rsync ในฐานะรูท แต่ยังคงความเป็นเจ้าของของผู้ใช้


36

ฉันต้องการสำรองข้อมูลไฟล์ผู้ใช้จากเซิร์ฟเวอร์หนึ่งไปยังเซิร์ฟเวอร์อื่นด้วย rsync แต่ฉันสังเกตเห็นว่าโฟลเดอร์ผู้ใช้เปลี่ยนเป็นรูท ฉันจะให้สิทธิ์ผู้ใช้กับ rsync (ทำงานโดยรูท) ได้อย่างไร?


rsync จะต้องถูกเรียกใช้เป็นรูทเมื่อคุณสร้างสำเนาของไดรฟ์รวมถึงเมื่อคุณคัดลอกไฟล์กลับไปที่ไดรฟ์ หากคุณทำตามขั้นตอนอย่างใดอย่างหนึ่งในฐานะผู้ใช้ที่ได้รับอนุญาตต่ำกว่าไฟล์รากจะถูกลดระดับลงไปยังผู้ใช้นั้น
Eric Leschinski

คำตอบ:


46

ใช้การ-aตั้งค่าสถานะซึ่งรวมถึงสิ่งอื่น ๆ ตัวเลือก-oและการ-gสงวนเจ้าของและกลุ่ม สิ่งนี้ต้องการให้คุณเรียกใช้rsyncในฐานะรูท

man rsyncยังดู


1
เป็นไปได้ไหมที่จะไม่รูต? มีตัวเลือกในการจัดเก็บการแมปในไฟล์ siderate หรือไม่?
thomas.mc.work

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

15

รักษาสิทธิ์ที่จะประสบความสำเร็จผ่านโหมด -a"เก็บ" ตัวอย่างทั่วไปคือ-avz:

rsync -avz foo:src/bar/ /data/bar

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


5

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

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