บังคับให้ rsync เขียนทับไฟล์ที่ปลายทางแม้ว่าจะเป็นไฟล์ที่ใหม่กว่าก็ตาม


43

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

tldr: มีวิธีบังคับ rsync ให้เขียนทับไฟล์ที่ปลายทางหรือไม่

แก้ไข:ฉันได้ทำงานrsync -avhpเมื่อฉันต้องการคืนค่าการสำรองข้อมูลฉันใช้คำสั่งเดียวกันกับ "เพื่อ" และ "จาก" สลับ ดังนั้นจึงพยายามคัดลอกไฟล์จากไดรฟ์สำรองไปยังสถานที่บนคอมพิวเตอร์ของฉัน


14
rsyncจะเขียนทับไฟล์ที่ปลายทางเสมอเว้นแต่คุณจะบอกไม่ให้ทำเช่นนี้ (ตัวเลือก-u, --update) ตรวจสอบอาร์กิวเมนต์บรรทัดคำสั่งของคุณ
scai

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

ฉันได้ลองใช้touchเพื่อทำให้ไฟล์ที่ฉันต้องการแทนที่ "เก่ากว่า" สำรองของฉัน แต่ก็ยังไม่ได้แทนที่ไฟล์ที่มีอยู่ในโฟลเดอร์บ้านของฉัน
jedipixel

อาจจะ '-I --modify-window = 999999999' เหมาะกับคุณใช่ไหม
jelle foks

คำตอบ:


47

คู่มือบอกว่า:

-I, --ignore-times   don't skip files that match size and time

ด้วยรายละเอียดเพิ่มเติม:

-I, --ignore-times

ปกติ rsync จะข้ามไฟล์ใด ๆ ที่มีขนาดเท่ากันและมีการประทับเวลาการแก้ไขเหมือนกัน ตัวเลือกนี้จะปิดการทำงาน "ตรวจสอบอย่างรวดเร็ว" นี้ทำให้ไฟล์ทั้งหมดได้รับการปรับปรุง

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