Saya memiliki perintah rsync dalam aplikasi yang menyalin isi folder ke komputer lain. Saya memiliki opsi --remove-source-files
karena saya hanya tertarik memiliki file di mesin tujuan setelah rsync selesai.
Namun, saya bertanya-tanya bagaimana perilaku rsync jika crash atau terputus saat mentransfer file?
Pertimbangkan saya punya dua file untuk disinkronkan, a
dan b
. Akankah rsync menyalin a
, lalu menghapusnya dari sumber, dan mulai menyalin b
, atau akan menunggu keduanya a
dan b
akan disalin ke mesin tujuan sebelum menghapus keduanya? Saya telah melihat Anda dapat mengkonfigurasi perilaku ini ketika menghapus file asing dengan beberapa flag, tetapi tidak menemukan satu pun tentang penghapusan file sumber.
file-transfer
rsync
brafales
sumber
sumber
Jawaban:
Memeriksa kode rsync mengungkapkan bahwa file sumber dihapus ketika dikirim, meskipun mungkin tidak segera terjadi. rsync melipatgandakan operasinya, sehingga pesan bahwa suatu file berhasil diterima (dan karenanya dapat dihapus) mungkin disangga di belakang data lain.
sumber
Saya mencobanya (dan Anda bisa dengan mudah melakukannya juga, pasti). Mereka dihapus setelah semua file berhasil ditransfer. Jika transfer terputus atau kesalahan lain terjadi, file sumber tidak dihapus, bahkan jika beberapa dari mereka ditransfer OK.
EDIT: sesuai jawaban Kyle Jones, kasus ini mungkin berbeda ketika banyak file terlibat.
sumber