помилка видалення команди rsync "Виникла помилка вводу-виводу - пропуск видалення файлу"


16

Я використовую команду rsync, щоб перенести резервну копію файлів з одного з мого сервера ubuntu на іншу машину ubuntu. Сервер резервного копіювання запускає сценарій, що використовує команду rysnc. Ось команда, яку я використовую

rsync -rltvh - частковий --stats --exclude = .beagle / --exclude =. * --delete-after root @ live_server: / home / / home / live_server_backup / home >> /tmp/logfile.log 2> & 1

live_server може працювати без ssh без пароля. Так це працює. Зараз проблема з

- опція видалення після завершення

Зрештою, файл синхронізований. На завершення я бачу помилку пропущеної процедури видалення.logfile

Виникла помилка IO - пропуск видалення файлу

Коли я намагався знайти журнал, під час синхронізації файлів сталася помилка

rsync: send_files не вдалося відкрити "/home/xyz/Desktop/PPT_session_1_context.pdf": У дозволі відхилено (13)

Отже, я розумію, що rsync не міг прочитати всі файли з цільових міркувань з причини безпеки, це пропускає видалення файлу.

Чи є спосіб зробити --delete-after роботу, навіть якщо є якась помилка дозволу? Я не хочу використовувати видалення сили, оскільки це буде небезпечно в якійсь ситуації.


1
Pssst знову ... Ти справді повинен.
Армель Ларсьє

Відповіді:


13

Додаткова примітка щодо цього питання:

vanished fileне повинен викликати умову IO error encountered -- skipping file deletion, але це часто трапляється, коли ви створюєте резервну копію живої системи.

Це покривається помилкою rsync №7809 ( https://bugzilla.samba.org/show_bug.cgi?id=7809 ), і її слід вирішити у наступному випуску 3.1.0.

Тим часом використовуйте:

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


2

Ви повинні використовувати файл виключення, щоб rsyncігнорувати файли, які він не може прочитати. Список можна згенерувати find . -exec test -r '{}'у вихідному каталозі, а потім масажувати у потрібний формат файлу виключення rsync.


насправді мій вихідний каталог досить великий (10-12 ГБ). Тому кожен раз пошук файлів (не маючи дозволу на читання) не буде ефективним способом. що ти кажеш?
XemX

Запустіть його один раз, щоб створити список виключень, і не запускайте його знову, якщо не буде додано цілу купу нових нечитаних файлів. rsync робить те саме обхід дерева, так що це не повинно бути таким поганим.
Кайл Джонс

Так. Але ось такий мій сценарій. Щоденний каталог джерел може вводити такі файли. і мені потрібно створити резервну копію нових файлів у резервній машині.
XemX

Чи є для цього робоче рішення? Я також використовую rsync для резервного копіювання з живої системи, і коли на машині читання є помилка вводу / виводу, файли видаляються на цільовій машині, яку НЕ БУДЕ ДАЄТЬСЯ!
bzero
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.