Untuk melanjutkan salinan yang terputus, Anda harus menggunakan rsync --append
. Dari penjelasan halaman manual tentang --append
:
Hal ini menyebabkan rsync memperbarui file dengan menambahkan data ke bagian akhir file, yangmenganggap bahwa data yang sudah ada di sisi penerima identik dengan awal file di sisi pengirim. [...] Menyiratkan
--inplace
, [...]
Opsi --inplace
membuat rsync
(lebih) tulis konten file tujuan secara langsung; tanpa --inplace
, rsync
akan:
- buat file baru dengan nama sementara,
- salin konten yang diperbarui ke dalamnya,
- tukar dengan file tujuan, dan terakhir
- hapus salinan lama dari file tujuan.
Mode operasi normal terutama mencegah konflik dengan aplikasi yang mungkin membuka file tujuan, dan beberapa kecelakaan lain yang sepatutnya tercantum dalam rsync
halaman manual.
Perhatikan bahwa, jika operasi penyalinan/pembaruan gagal di langkah 1.-3. di atas,rsync
akan menghapus file tujuan sementara; --partial
opsi menonaktifkan perilaku ini dan rsync
akan meninggalkan file sementara yang ditransfer sebagian pada sistem file tujuan. Dengan demikian, melanjutkan operasi penyalinan file tunggal tidak akan menghasilkan banyak kecuali Anda memanggil rsync
pertama dengan --partial
atau --partial-dir
(efek yang sama seperti --partial
, sebagai tambahan menginstruksikan rsync
untuk membuat semua file sementara di direktori tertentu).
Ketahuilah bahwa --append
menyiratkan --inplace
, yang berarti --partial
.
-
Dengan hanya menggunakan
--partial
Anda harus menyebabkanrsync
untuk meninggalkan transfer sebagian dan melanjutkannya dalam upaya berikutnya. -
Dengan menggunakan
--append
Anda harus menyebabkanrsync
untuk meninggalkan sebagian file dan melanjutkannya lain kali. Setelah mentransferrsync
harus memverifikasi checksum dari data yang dikirimkan saja. -
--append-verify
menyertakan seluruh file dalam verifikasi checksum, termasuk bagian apa pun yang ditransfer dalam transfer sebelumnya. -
Dengan
--append
atau--append-verify
verifikasi checksum yang gagal akan menyebabkan file dikirim ulang sepenuhnya (menggunakan--inplace
)
Anda harus dapat melanjutkan mv
atau cp
operasi dengan rsync
tetapi Anda mungkin ingin menggunakan --append-verify
opsi untuk ketenangan pikiran.
Perhatikan bahwa menggunakan --append
menyebabkan rsync
untuk menyalin hanya file-file yang ukurannya pada penerima lebih pendek dari ukuran pada pengirim (terlepas dari stempel waktu), atau tidak ada pada penerima. Dengan dokumentasi tentang opsi ini:
Jika file perlu ditransfer dan ukurannya di penerima sama atau lebih panjang dari ukuran pengirim, file akan dilewati.
Info lebih lanjut di halaman manual
David Schwartz benar, --partial
(atau lebih baik, -P
) melakukan apa yang Anda inginkan. Saya memverifikasi ini pada file 37G yang dihentikan ~8g ke dalamnya, melalui jaringan. rsync dengan cepat memindai bagian pertama dari sebagian (menunjukkan kemajuan seperti yang terjadi berkat -P
), lalu melanjutkan transfer ke bagian akhir file parsial.