ฉันต้องการสำรองข้อมูลไฟล์ผู้ใช้จากเซิร์ฟเวอร์หนึ่งไปยังเซิร์ฟเวอร์อื่นด้วย rsync แต่ฉันสังเกตเห็นว่าโฟลเดอร์ผู้ใช้เปลี่ยนเป็นรูท ฉันจะให้สิทธิ์ผู้ใช้กับ rsync (ทำงานโดยรูท) ได้อย่างไร?
ฉันต้องการสำรองข้อมูลไฟล์ผู้ใช้จากเซิร์ฟเวอร์หนึ่งไปยังเซิร์ฟเวอร์อื่นด้วย rsync แต่ฉันสังเกตเห็นว่าโฟลเดอร์ผู้ใช้เปลี่ยนเป็นรูท ฉันจะให้สิทธิ์ผู้ใช้กับ rsync (ทำงานโดยรูท) ได้อย่างไร?
คำตอบ:
ใช้การ-a
ตั้งค่าสถานะซึ่งรวมถึงสิ่งอื่น ๆ ตัวเลือก-o
และการ-g
สงวนเจ้าของและกลุ่ม สิ่งนี้ต้องการให้คุณเรียกใช้rsync
ในฐานะรูท
man rsync
ยังดู
root
คุณไม่ได้รับอนุญาตให้เปลี่ยนเจ้าของเป็นบุคคลอื่นจากผู้ใช้ของคุณเอง ไฟล์การแมปจะไม่ช่วยอะไรเลย
รักษาสิทธิ์ที่จะประสบความสำเร็จผ่านโหมด -a
"เก็บ" ตัวอย่างทั่วไปคือ-avz
:
rsync -avz foo:src/bar/ /data/bar
สิ่งนี้ทำให้มั่นใจได้ว่าลิงก์สัญลักษณ์อุปกรณ์คุณลักษณะสิทธิ์การเป็นเจ้าของและอื่น ๆ จะถูกเก็บไว้ในการถ่ายโอน นอกจากนี้การบีบอัดจะถูกใช้เพื่อลดขนาดของส่วนข้อมูลของการถ่ายโอน
หากคุณใช้ rsync สำหรับการสำรองข้อมูลฉันสามารถแนะนำให้ใช้ rsnapshot แทน (ใช้ rsync) มันหมุนการสำรองข้อมูลและใช้ฮาร์ดลิงก์เพื่อให้คุณสามารถเห็นความแตกต่างระหว่างการสำรองข้อมูลรายวันของคุณ (แต่โฟลเดอร์ยังคงดูเหมือนว่าพวกเขามีเนื้อหาที่สมบูรณ์) ฉันใช้สิ่งนี้เพื่อสำรองข้อมูลทั้งเซิร์ฟเวอร์ Windows และ Linux ในที่ทำงาน สมบูรณ์แบบสำหรับเรา!