Sen kullanarak aynı komuta hem görevleri yerine olabilir --delete
bayrağı 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
Seçenek kaynağı var olmayan hedef dizinden dosyaları siler. Dosyaların ne zaman silineceği ve hariç tutulan dosyaların nasıl işleneceği hakkında bazı seçenekler vardır.
> 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
Kılavuz sayfası ayrıca şu uyarıyı içerir:
Bu seçenek yanlış kullanılırsa tehlikeli olabilir! Önemli dosyaların listelenmediğinden emin olmak için hangi dosyaların silineceğini görmek için önce --dry-run option
( -n
) 'yi kullanarak çalıştırmak çok iyi bir fikirdir .