1

Я использую свой NAS для резервного копирования нескольких небольших систем, которые контролируют солнечную электростанцию, используя rsync. Работает отлично. Теперь я хочу сделать резервную копию всего диска NAS.

Для каждой машины Linux есть подкаталоги - 8 из них.

Поскольку я узнал больше и настроил свои исключения, я вижу много остатков, которые я забыл исключить ранее.

В прошлом я исключал каталоги /lost+found но не думал о /.trash-1000 и теперь их много.

Просто добавив их в список --exclude даже с --delete не удаляет их , потому что исключает делает программу Rsync пропускать их полностью.

Он не работает так же, как Robocopy /MIR.

Итак, начнем с.Мусор и я думаю, что ответ поможет мне, если я найду других, которых я изначально забыл исключить.

Очевидно, что одним из решений является удаление всего каталога для каждого сервера по очереди, а затем повторный запуск полной rsync с новым набором исключений.

Но это много работы, если не сказать больше.

Поэтому мой вопрос заключается в том, что когда я делаю полную rsync диска NAS, есть ли общий способ исключить все.Папки Trash-1000? Если это работает, я могу поменять диски и возобновить работу с более чистым.

Я ищу что-то вроде этого:

--exclude="*.Trash*"

... поэтому он не будет копировать их, независимо от их расположения в структуре каталогов.


Я действительно хочу знать, как это сделать с помощью rsync, и ищу решение проблемы, заключающейся в том, что при добавлении исключений rsync пропускает их, а не удаляет их.

В качестве альтернативы, вместо того, чтобы делать это во время rsyncs, я бы приветствовал ответ, который показал бы мне, как искать и уничтожать эти каталоги на исходном диске NAS.

rsync - как сделать так, чтобы каталоги или файлы, недавно добавленные в список исключений, были удалены

2 ответа2

0

Вот некоторые вопросы и ответы, которые говорят об альтернативе:

Как удалить каталоги на основе результатов find ?

Как удалить папки с определенным именем

найти + удалить файлы, содержащие «.»

И между ними, я считаю, что мой лучший вариант для немедленной проблемы - удалить их с исходного диска, выполнив это в каталоге, который содержит полные резервные копии других систем:

cd /mnt/full
sudo rm -rf `sudo find -type d -name '.Trash-1000'`

Ищите и уничтожайте, ура!

Это сработало и в будущем ускорит работу Rsync.


Это не решает ошибку rsync.


Если у кого-нибудь есть ответ, который заставит rsync удалить каталоги, которые я позже добавлю в список --exclude , то этот ответ я с радостью приму.

0

Что касается первой части ответа: как заставить это работать, как Robocopy /MIR (/PURGE),

Оказывается, что Rsync имеет

--delete-excluded

переключатель.

Это решает проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .