rsync คัดลอกไฟล์ใหม่เท่านั้นไม่มีการปรับปรุง?


10

ฉันต้องการใช้ rsync เพื่อคัดลอกไฟล์จากเซิร์ฟเวอร์ระยะไกล ฉันอยากจะ

  • คัดลอกไฟล์จากเซิร์ฟเวอร์เท่านั้นไม่ดันออก
  • คัดลอกไฟล์ที่ไม่มีอยู่ หากไฟล์รีโมตใหม่กว่าฉันไม่ต้องการคัดลอก
  • มีมันโดยอัตโนมัติ สิ่งนี้แจ้งให้ฉันใส่รหัสผ่านทุกครั้งและฉันต้องการให้ cron รัน ดังนั้นฉันจะเรียกใช้ในสคริปต์ทุบตีดำเนินการโดย cron ได้อย่างไร

หากต้องการ "ทำให้เป็นอัตโนมัติ" --password-fileตัวเลือกจะให้รหัสผ่านกับพรอมต์เซิร์ฟเวอร์ ไฟล์ควรมีข้อความรหัสผ่านในรูปแบบธรรมดาและไม่อนุญาตให้ผู้ใช้รายอื่นเข้าถึงการอ่าน
altmas5

คำตอบ:


5

จุดที่ 1 และที่ 2: วิธีการระบุว่าจะสำเนาเป็นคำตอบที่ดีที่สุดโดยการอ่าน rsync manpage ในกรณีของคุณดูโดยเฉพาะอย่างยิ่งที่ --ignore- ธงที่มีอยู่

จุดที่ 3: บทช่วยสอนนี้ให้คุณใช้รหัสผ่าน ssh กับ rsync สรุป: ตั้งค่ารหัสผ่าน ssh และใช้ '-e ssh' เพื่อบอก rsync ให้ใช้ ssh แทน rsh เพื่อเชื่อมต่อกับโฮสต์ระยะไกล


ฉันมองไปที่ชายคนนั้นและฉันไม่สามารถคิดได้ว่าจะอนุญาตให้ฉันคัดลอกไฟล์ใหม่ได้อย่างไรและไม่อัปเดต

1

สำหรับส่วนที่สองเนื่องจาก pjz ตอบส่วนที่เหลือฉันเชื่อว่าคุณสามารถใช้สวิตช์ --ignore-เดิมเพื่อรับไฟล์ใหม่เท่านั้น

จากhttp://www.samba.org/ftp/rsync/rsync.html :

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

ตัวเลือกนี้มีประโยชน์สำหรับผู้ที่ทำการสำรองข้อมูลโดยใช้ตัวเลือก --link-dest เมื่อพวกเขาต้องการดำเนินการสำรองข้อมูลที่ถูกขัดจังหวะ เนื่องจาก --link-dest run ถูกคัดลอกไปยังลำดับชั้นของไดเรกทอรีใหม่ (เมื่อใช้อย่างถูกต้อง) การใช้ --ignore ที่มีอยู่จะช่วยให้มั่นใจได้ว่าไฟล์ที่จัดการแล้วไม่ได้รับการปรับแต่ง (ซึ่งหลีกเลี่ยงการเปลี่ยนแปลงสิทธิ์ใน ไฟล์ที่เชื่อมโยงอย่างหนัก) นี่หมายความว่าตัวเลือกนี้ดูเฉพาะไฟล์ที่มีอยู่ในลำดับชั้นปลายทางเท่านั้น

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