วิธีการ rsync ไฟล์ที่เก่ากว่า x นาทีบน linux


2

นี่คือสิ่งที่ฉันมีตอนนี้:

rsync --remove-source-files -vr user@server:/foo/bar/in/ /some/local/path

มีวิธีที่ฉันสามารถสั่ง rsync เพื่อดึงเฉพาะไฟล์ที่เก่ากว่า x นาที / ชั่วโมงจากโฮสต์ระยะไกลหรือไม่?

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


1
คุณสามารถรันการค้นหาด้วย ctime + <x นาที> และ -exec rsync
Alex

ฉันจะทำให้ผลลัพธ์การค้นหาเป็น rsync ได้อย่างไร
Sean256

คำตอบ:


1

คุณควรใช้findเพื่อค้นหาไฟล์ที่เก่ากว่า x นาทีและไพพ์ผลลัพธ์เป็น rsync

find /src/dir/ -cmin +30 -printf %P\\0 \ | rsync --files-from=- --from0 /src/dir/ /dst/dir/

แหล่ง


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