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.