Lỗi rsync xóa lỗi Lỗi IO IO gặp phải - bỏ qua xóa tệp xóa


16

Tôi sử dụng lệnh rsync để sao lưu các tập tin từ một trong các máy chủ ubfox của tôi sang một máy ubfox khác. Máy chủ dự phòng kích hoạt một tập lệnh sử dụng lệnh rysnc. Đây là lệnh tôi sử dụng

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

live_server là ssh có thể mà không cần mật khẩu. Vì vậy, nó hoạt động. Bây giờ vấn đề là với

--delete-after tùy chọn

Sau khi tất cả các tệp được đồng bộ hóa. Khi kết thúc, tôi có thể thấy quy trình xóa bị bỏ qua.logfile lỗi giống như

Gặp phải lỗi IO - bỏ qua việc xóa tệp

Khi tôi cố gắng tìm nhật ký, có một số lỗi trong khi đồng bộ hóa tệp

rsync: send_files không mở được "/home/xyz/Desktop/PPT_session_1_context.pdf": Quyền bị từ chối (13)

Vì vậy, sự hiểu biết của tôi là rsync không thể đọc tất cả các tệp từ mục tiêu vì lý do an toàn, nó đang bỏ qua việc xóa tệp.

Có cách nào để thực hiện - sau khi hoàn thành công việc ngay cả khi có một số lỗi cho phép không? Tôi không muốn sử dụng xóa vũ lực vì nó sẽ nguy hiểm trong một số tình huống.


1
Pssst một lần nữa ... Bạn thực sự nên.
Armel Larcier

Câu trả lời:


13

Lưu ý thêm về vấn đề này:

vanished filekhông nên kích hoạt điều kiện IO error encountered -- skipping file deletion, nhưng điều này thường xảy ra khi bạn đang tạo bản sao lưu của hệ thống trực tiếp.

Điều này được bao phủ bởi lỗi rsync # 7809 ( https://ormszilla.samba.org/show_orms.cgi?id=7809 ) và sẽ được giải quyết trong bản phát hành sắp tới 3.1.0.

Trong khi sử dụng:

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

19

Từ trang người đàn ông rsync:

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

Điều đó sẽ giải quyết vấn đề của bạn.


2

Bạn nên sử dụng một tệp loại trừ để rsyncbỏ qua các tệp mà nó không thể đọc được. Danh sách có thể được tạo find . -exec test -r '{}'trong thư mục nguồn và sau đó được đưa vào định dạng tệp loại trừ rsyncmuốn.


thực sự thư mục nguồn của tôi khá lớn (10-12GB). Vì vậy, mỗi lần tìm tệp (không có quyền đọc) sẽ không phải là cách hiệu quả. bạn nói gì
XemX

Chạy nó một lần để xây dựng danh sách loại trừ và không chạy lại trừ khi toàn bộ các tệp không thể đọc mới được thêm vào. rsync đang thực hiện cùng một giao dịch cây, vì vậy dù sao nó cũng không tệ.
Kyle Jones

Đúng. Nhưng đó là những gì kịch bản của tôi là như thế. Thư mục nguồn hàng ngày có thể giới thiệu các tập tin như vậy. và tôi cần sao lưu các tập tin mới vào máy dự phòng.
XemX

Có một giải pháp làm việc cho điều này? Tôi cũng sử dụng rsync để sao lưu từ hệ thống trực tiếp và khi có Lỗi I / O trên máy đọc, các tệp sẽ bị xóa trên máy đích, điều này KHÔNG NÊN HẠNH PHÚC!
bzero
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.