SCP ถ่ายโอนไฟล์ที่แก้ไขเท่านั้น


30

ฉันใช้คำสั่งด้านล่างเพื่อถ่ายโอนไฟล์ข้ามเซิร์ฟเวอร์

scp -rc blowfish /source/directory/* username@domain.net:/destination/directory

มีวิธีการโอนไฟล์เฉพาะไฟล์ที่แก้ไขเช่นเดียวกับupdateคำสั่งcpหรือไม่?

คำตอบ:


52

rsync เป็นเพื่อนของคุณ.

rsync -ru /source/directory/* username@domain.net:/destination/directory

หากคุณต้องการให้ลบไฟล์ที่ปลายทางที่ไม่มีอยู่อีกต่อไปให้เพิ่ม--deleteตัวเลือก


4
แม้ว่าหากคุณกำลังซิงค์กับเว็บเซิร์ฟเวอร์และเซิร์ฟเวอร์นั้นแคช HTML คุณอาจไม่ต้องการใช้--deleteเนื่องจากผู้เข้าชมในหน้าเก่าอาจร้องขอเนื้อหาที่ไม่มีอยู่อีกต่อไป
แจ็กสัน

@Jackson กระบวนการที่สะอาดจะไม่รวมข้อมูลตัวแปรเช่นแคชหรือ configs ในแหล่งที่มา
Chris Pillen

ในบางกรณีผมมีข้อตกลงกับเซิร์ฟเวอร์นอกโดเมนของฉันที่ไม่ได้มีแต่rsync scpมีวิธีแก้ปัญหาที่เปรียบเทียบกันได้แม้ว่าจะต้องการสคริปต์เพียงไม่กี่บรรทัด?
iX3

คำตอบมีประโยชน์ แต่คำถามนี้สามารถทำได้ด้วยตัวเอง
Mladen B.

1

โดยทั่วไปแล้วคนหนึ่งขอ scp เพราะมีเหตุผล เช่นไม่สามารถติดตั้ง rsyncd บนเป้าหมาย

files=`find . -newermt "-3600 secs"`

for file in $files
do
       sshpass -p "" scp "$file" "root@$IP://usr/local/www/current/$file"
done
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.