คุณสามารถบรรลุผลงานทั้งในคำสั่งเดียวกันโดยใช้ธง--delete
rsync
> ls -1 localdir/
a.foo
b.foo
> ssh remote-host "ls -1 remotedir/"
c.foo
> rsync -a --delete localdir/ remote-host:remotedir/
> ssh remote-host "ls -1 remotedir/"
a.foo
b.foo
--delete
ตัวเลือกลบไฟล์จากไดเรกทอรีปลายทางที่ไม่อยู่กับแหล่งที่มา มีตัวเลือกบางอย่างเกี่ยวกับเวลาที่ไฟล์ถูกลบและวิธีจัดการกับไฟล์ที่ถูกแยก
> man rysnc
...
--delete delete extraneous files from dest dirs
--delete-before receiver deletes before transfer (default)
--delete-during receiver deletes during xfer, not before
--delete-after receiver deletes after transfer, not before
--delete-excluded also delete excluded files from dest dirs
หน้าคนยังมีคำเตือนนี้:
ตัวเลือกนี้อาจเป็นอันตรายหากใช้ไม่ถูกต้อง! เป็นความคิดที่ดีมากที่จะเรียกใช้ครั้งแรกโดยใช้--dry-run option
( -n
) เพื่อดูว่าไฟล์ใดที่จะถูกลบเพื่อให้แน่ใจว่าไฟล์สำคัญไม่อยู่ในรายการ