Anda bisa menyelesaikan kedua tugas dalam perintah yang sama dengan menggunakan --delete
flag untuk 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
The --delete
pilihan menghapus file dari direktori tujuan yang tidak ada pada sumber. Ada beberapa pilihan tentang kapan file dihapus dan bagaimana menangani file yang dikecualikan.
> 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
Halaman manual juga berisi peringatan ini:
Opsi ini bisa berbahaya jika digunakan secara tidak benar! Ini adalah ide yang sangat bagus untuk dijalankan terlebih dahulu menggunakan --dry-run option
( -n
) untuk melihat file apa yang akan dihapus untuk memastikan file penting tidak terdaftar.