помилка видалення команди 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.