rsync komut silme hatası “G / Ç hatasıyla karşılaşıldı - dosya siliniyor”


16

Ubuntu sunucumdan bir başka ubuntu makinesine dosya yedeklemesi için rsync komutunu kullanıyorum. Yedekleme sunucusu, rysnc komutunu kullanan bir komut dosyasını tetikler. İşte kullandığım komut

rsync -rltvh --partial --stats --exclude = .beagle / --exclude =. * --delete-after root @ live_server: / home / / home / live_server_backup / home >> /tmp/logfile.log 2> ve 1

live_server şifre olmadan ssh-mümkün. Yani işe yarıyor. Şimdi sorun şu

- silme sonrası seçeneği

Tüm dosya senkronize olduktan sonra. Sonunda silme prosedürü skipped.logfile hatası gibi görebilirsiniz

ES hatası oluştu - dosya siliniyor

Günlük bulmaya çalıştığımda dosya senkronizasyonu sırasında bazı hatalar oluştu

rsync: send_files "/home/xyz/Desktop/PPT_session_1_context.pdf" dosyasını açamadı: İzin reddedildi (13)

Bu yüzden benim anlayışım rsync güvenlik nedeniyle dosya silme işlemini atlaması nedeniyle hedefin tüm dosyalarını okuyamadı.

Bazı izin hataları olsa bile --delete-after işini yapmanın bir yolu var mı? Bazı durumlarda tehlikeli olacağından kuvvet silme kullanmak istemiyorum.


1
Pssst tekrar ... Gerçekten yapmalısın.
Armel Larcier

Yanıtlar:


13

Bu sorun hakkında ek not:

vanished filekoşulu tetiklememelidir IO error encountered -- skipping file deletion, ancak bu genellikle canlı bir sistemin yedeğini oluştururken olur.

Bu, rsync hatası # 7809 ( https://bugzilla.samba.org/show_bug.cgi?id=7809 ) kapsamındadır ve gelecek sürüm 3.1.0'da çözülmelidir.

Bu arada kullanın:

--ignore-errors         delete even if there are I/O errors

19

Rsync man sayfasından:

--ignore-errors         delete even if there are I/O errors

Bu sorununuzu çözecektir.


2

Dışarıda rsyncokuyamadığı dosyaları yok saymak için bir dışlama dosyası kullanmalısınız . Liste find . -exec test -r '{}', kaynak dizinde ile oluşturulabilir ve ardından dışlama dosyası biçimine istinaden masaj yapılabilir rsync.


aslında kaynak dizinim oldukça büyük (10-12GB). Yani her seferinde dosya bulma (okuma izni olmayan) etkili bir yol olmayacaktır. ne diyorsun?
XemX

Dışlama listesini oluşturmak için bir kez çalıştırın ve bir sürü yeni okunamayan dosya eklenmedikçe tekrar çalıştırmayın. rsync aynı ağaç geçişini yapıyor, bu yüzden o kadar da kötü olmamalı.
Kyle Jones

Evet. Ama benim senaryom böyle. Günlük kaynak dizini bu tür dosyaları tanıtabilir. ve yeni dosyaları yedekleme makinesine yedeklemem gerekiyor.
XemX

Bunun işe yarayan bir çözümü var mı? Ayrıca canlı bir sistemden yedekleme için rsync kullanıyorum ve okuma makinesinde bir G / Ç Hatası olduğunda, dosyalar hedef makinede silinir, ki OLMAMALIDIR!
bzero
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.