Удалите файлы из пути B к каталогу, которые не найдены в пути A в Linux

Например, у меня есть два пути в одной системе:

\mnt\a\data
\mnt\b\data

В b \ data есть некоторые каталоги и / или файлы, которых нет в a \ data . Как я могу легко удалить эти дополнительные каталоги и / или файлы?

Дополнительная информация:

  • Я использую это для хранения копий моей коллекции мультимедиа на отдельных дисках
  • Я выполняю rsync каждую ночь с a на b , поскольку я готов смириться с потерей данных
  • , я использую эту настройку вместо mdraid , чтобы избежать потенциальной потери данных из-за отключения электроэнергии
0
задан 12 January 2018 в 14:41
1 ответ

В b \ data есть некоторые каталоги и / или файлы, которые не присутствует в \ data. Как я могу удалить эти лишние каталоги и / или файлы легко?

Вероятно, вам понадобится опция - delete в rsync .

Один из наиболее распространенных вариантов использования rsync - синхронизация двух расположений каталогов с помощью команда, такая как следующая:

rsync -av --delete /path1 /path2
  • -a Режим архивирования; Рекурсивно и включать разрешения / владелец / группу / и т. Д.
  • -v Подробный режим, чтобы вы могли видеть, что делается (полезно при первом тестировании или запуске вручную)
  • - delete или --del Delete файлы, которых нет в исходном коде
1
ответ дан 4 December 2019 в 16:03

Теги

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