Как я могу изменить «cp -ru» для удаления файлов в месте назначения, которые больше не существуют в источнике?

У меня есть каталог со многими подкаталогами и несколькими миллионами файлов. Общий размер около 15 ГБ. У меня есть короткое окно (желательно около 30 секунд) для отражения изменений в этом каталоге во второй идентичный каталог на другом диске. Диски SSD.

Я пробовал различные варианты tar и rsync, но попал на «cp -ru», потому что он может копировать новые и измененные файлы в течение отведенного времени. Первый cp занимает, может быть, 15 минут; но в будущем "cp -ru" займет от 20 до 40 секунд. Другие варианты, которые я пробовал, были намного медленнее (занимали много минут).

Моя проблема в том, что я получаю «лишние» файлы. Файлы, которые могли кратковременно существовать в источнике, всегда оказывались в месте назначения; даже после того, как они были удалены из источника. Есть ли способ изменить "cp -ru", чтобы исключить файлы назначения, которых больше нет в исходном коде? Или это слишком сильно замедлит его?

Или, может быть, вторичная операция может каким-то образом сканировать источник «только для чтения» и удалять файлы в месте назначения? Эта операция может занять больше времени; как у меня есть около 1 часа времени между резервными копиями. Я просто не могу на самом деле копировать файлы в этот период, потому что они находятся на работающем сервере (файлы изменяются).

Я готов попробовать другие варианты, кроме cp; но он должен уметь обрабатывать резервные копии миллионов файлов в течение 30 секунд.

Я использую Ubuntu Server 14.04.3 LTS.

1
задан 28 January 2016 в 20:40

0 ответов

Другие вопросы по тегам:

Похожие вопросы: