Saya berlari sudo rsync -va --progress
dari root satu drive eksternal ke folder di drive eksternal lain. Alasannya adalah bahwa sumber drive memiliki NTFS kesalahan-ful dan saya tidak memiliki akses ke PC Windows untuk memperbaiki NTFS.
10 jam kemudian dikatakan:
sent 608725204596 bytes received 19365712 bytes 15902210.53 bytes/sec
total size is 608586212274 speedup is 1.00
rsync error: some files could not be transferred (code 23) at /SourceCache/rsync/rsync-42/rsync/main.c(992) [sender=2.6.9]
Saya menyimpan seluruh output terminal. Pada awalnya, ada beberapa ratus Input/output error (5)
file yang sebenarnya tidak saya butuhkan berjumlah sekitar 2GB. "Penggunaan disk" oleh OSX Finder memberi tahu saya bahwa sumbernya adalah 617 miliar byte, bukan 608 seperti dalam laporan di atas.
Pertanyaan:
- Apakah bagian pertama dari output verbose (membangun daftar file) pasti mengatakan
Input/output error (5)
untuk SETIAP file yang tidak akan disalin? - Apakah ini
code 23
berarti semua file kecualiInput/output error (5)
yang berhasil disalin?
grep '^rsync: ' output
semoga bermanfaat.Jawaban:
23
hanya berarti (dari halaman manual):Untuk semua yang tidak dapat ditransfer, Anda akan mendapatkan pesan kesalahan. Perhatikan bahwa pesan kesalahan mungkin tentang membuka atau membaca direktori, jadi Anda tidak perlu melihat pesan kesalahan untuk setiap file yang tidak dapat ditransfer.
Jika sumber Anda belum berubah, Anda dapat menjalankan
rsync
lagi dengan-n
untuk melihat apa yang akan ditransfer kali ini tanpa benar-benar melakukan transfer.Tentang perbedaan byte,
rsync
memberi Anda ukuran file (seberapa banyak data dapat dibaca dari mereka). Apakah Anda yakinFinder
tidak memberi tahu Anda penggunaan disk sebagai gantinya?Juga perhatikan bahwa NTFS dapat menyimpan data dalam aliran alternatif atau atribut dari file, dan
rsync
biasanya tidak akan mentransfer (tidak mengetahui) mereka (dan itu juga bisa menyebabkan banyak).sumber
Input/output error (5)
?Input/output error (5)
. Bisakah Anda jelaskan?echo > file; du -k file
untuk melihat berapa banyak pada sistem file sumber, tetapi pada ntfs, biasanya 4k).rsync
akan memberi tahu Anda bahwa ukurannya adalah1
, tetapi Finder mungkin memberi tahu Anda 4.096 untuk file itu./foo/bar
dan/foo/bar/baz
tidak akan ditransfer juga.Anda dapat membungkam output non-kesalahan rsync menggunakan
-q
flag rsync .Jika Anda menjalankan rsync lagi dengan
-q
flag, rsync kemungkinan masih akan gagal, tetapi setidaknya kali ini pesan kesalahan apa pun yang menyebabkan masalah Anda tidak akan dikubur di bawah baris dan baris pesan status transfer file.sumber
Re: error 23-- Alasan paling umum untuk memiliki kesalahan ini adalah untuk membuat kesalahan ketik kecil masuk dalam sumber rsync. Lihatlah perintah sumber Anda dan pastikan semuanya memeriksa terhadap ls, dan cari hal-hal halus yang bodoh seperti ruang ekstra atau masalah 1-l.
sumber