Linux'ta bir Giriş / Çıkış hatasını nasıl yorumlayabilir ve düzeltebilirim?


21

Ben rsync ile günlük yedekleme çalıştırıyorum. Birkaç gün önce, dosyalardan biri yedekleme sırasında bu hatayı atıyor:

rsync: read errors mapping "/home/folder/file.ext": Input/output error (5)
WARNING: /home/folder/file.ext failed verification -- update discarded (will try again).

En iyi hareket şekli nedir? Sadece bozuk bir dosya mı? Veya sabit diskte dosyanın bulunduğu yerde bir sorun mu var? Sadece silmeli ve yedeklenen sürümlerden birini dosyanın konumuna mı kopyalamalıyım? Yoksa yapmam gereken başka bir şey var mı?

Yanıtlar:


17

Rsync hatası

 read errors mapping ....: Input/output error (5)

rsync'in bir dosyayı okuma veya yazma imkansızlığını gösterir. Bu hatanın en olası nedenleri, SRC veya TGT dizinindeki disk hatalarıdır. Diğer olasılıklar arasında yetersiz izinler, virüsten koruma programları tarafından dosya kilidi ve maybediğer nedenler sayılabilir .

Teşhise doğru ilk adım, dosyaları manuel olarak kopyalamaya çalışmaktır. Bu, örneğin hatanın kaynağı TGT dizinindeki bir disk hatasıysa işe yarayabilir; işlemi daha sonra tekrarlayarak, diskin farklı bir bölümüne yazacaksınız ve sorun buharlaşmış olabilir.

Alternatif olarak, SRC dizinindeki dosyaya erişemediğinizi fark edebilirsiniz. Bu durumda, dağıtımınız için kullanılabilir disk denetleme yardımcı programlarından herhangi birini kullanmanızı öneririm.

Yetersiz ayrıcalıkların, anti-virüsün teşhisi daha kolaydır.

Son olarak, SRC dizininizde kötü bir sektör varsa, bunu gelecekteki rsync işlemlerinden hariç tutabilirsiniz.

rsync -av --exclude='/home/my_name/directory_with_corrupt_files/*'

Teşekkürler! Bunun başka bir soru olma riski altında, ayrıcalıkları veya antivirüsleri ekarte edebiliyorum SRC veya TGT dizini olup olmadığını nasıl öğrenebilirim?
keşif

Bir antivirüs dosyaları bir süre kilitler. Sorun buysa, bir süre sonra aynı komutu yeniden denemek aynı hatayı göstermemelidir. Ayrıcalıklar meselesi kolaydır: hem SRC hem de TGT makinelerinde root hesabı kullanın. Bunu yapamıyorsanız, rsync'in başarısız olduğu dosyalara erişilebildiğini, yani bunlara erişmeye çalışan hesaba ait olup olmadığını ve bu dosyalara okuma erişiminiz olmadığını kontrol edin. Bu konunuzu çözerse, lütfen cevabımı kabul etmeyi unutmayın, diğer okuyucular için yararlıdır.
MariusMatutiae

Yukarıdaki yorumumu yanlış anladın. Boşver, yeni bir soru soracağım.
13'te keşif

TGT sadece hedef, değil mi? Öyleyse, sadece hedef söylemek daha iyi olabilir.
Jasper

Cevabınız, bobcares.com/blog/rsync-input-output-error_5 (elbette referanslar olmadan) bir makaleyi doğurmuş gibi görünüyor .
Yaroslav Nikitenko

3

Benzer bir sorunum vardı, USB aracılığıyla sigortaya takılı bir cihaz vardı, bu da sık sık bağlantıyı keserek IO hatalarına neden oldu. IO hataları rsync'in ortasında başlayacağından ve rsync'i tekrar tekrar çalıştırmasına rağmen, bir noktada senkronizasyon mevcut dosyaları güncellemenin ötesinde ilerlemeyeceği için yedeklemem hiç bitiremedi.

Benim çözümüm

--ignore-existing 

seçeneği. Bu şekilde senkronizasyonu 0 çıkış durumu görene kadar bir döngüde çalıştırabilirim.

Tabii ki, bu durumda mevcut dosyalarda yapılan güncellemeleri umursamadım.


0

Kullanarak senkronize ettiğim 2 harici sürücüm var rsync. Bu görevi iki makineden birinde düzenli olarak gerçekleştiriyorum ve kolaylık sağlamak için sık sık birinden diğerine geçiyorum. Debian 9 çalıştıran 4 makinem var ve her birinde bu sürücüleri kullanıyorum.

Bu sabah aşağıdakileri kullandım:

rsync -ahv --delete drive-x drive-y 

ve bildirilen birkaç yüz başarısızlığa şaşırdım.

çoğunlukla: rsync: readlink_stat... failed: Input/output error (5)
ayrıca:rsync: rsync: recv_generator: mkdir ... failed: Read-only file system (30)

Ne olduğunu bulma sürecinde, sürücüleri iki kez yeniden monte ettim, yeniden başlattım, rsynconsuz koştum --deleteve temelde uzun zamandır güvenilir bir şekilde çalışan bir şeyi düzeltmeye çalıştım. Hatta rsynctekrar kurmayı düşündüm . Bunu yapmadan önce rsync, çevrimdışı çalıştığım diğer makinedeki 2 sürücüye karar verdim . rsynctam olması gerektiği gibi çalıştı.

Burada yayınlanan materyali okuduktan sonra clamavimzaları yükledim , güncelledim ve ana dizinimi taradım. Bunu düzenli olarak farklı bir makinede kullanıyorum. 1 ve sadece 1 PUA buldum ve sildim. PUA'ları her zaman silerim. Daha sonra bu sürücüye iki sürücüyü yeniden monte ettim ve her sürücüye farklı test dosyaları ve klasörler ekledim.

Koştum rsync -ahv --delete drive_x drive_yve her şey yolunda gitti .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.