GNU/Linux >> Belajar Linux >  >> Linux

Lanjutkan transfer satu file dengan rsync

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:

  1. buat file baru dengan nama sementara,
  2. salin konten yang diperbarui ke dalamnya,
  3. tukar dengan file tujuan, dan terakhir
  4. 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 menyebabkan rsync untuk meninggalkan transfer sebagian dan melanjutkannya dalam upaya berikutnya.

  • Dengan menggunakan --append Anda harus menyebabkan rsync untuk meninggalkan sebagian file dan melanjutkannya lain kali. Setelah mentransfer rsync 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.


Linux
  1. Apa itu Protokol Transfer File (FTP)

  2. Cara Menggunakan Netcat untuk Mentransfer File di Linux

  3. Membuka file .tar.gz dengan satu perintah

  1. RSync:Bagaimana cara menyinkronkan di kedua arah?

  2. Memperbarui satu file dalam tar terkompresi

  3. Bagaimana cara RSYNC satu file?

  1. Menggunakan nc untuk mentransfer file besar

  2. rsync pada Windows + nama file non-ASCII

  3. Memasang sistem file melalui internet