Хорошо, SoF, это немного сложно объяснить, но я буду стараться изо всех сил.
У меня 2 одинаковых диска. Давайте назовем «S:» для источника и «D:» для пункта назначения
S: это диск, на котором хранятся все мои файлы (изображения, музыка, видео, документы и т. Д.), А D: резервная копия HD, для которой (вручную) выполняется резервное копирование каждую ночь воскресенья.
Я бы хотел сделать резервную копию S: в D: с несколькими правилами.
Как я уже сказал, я делаю резервные копии раз в неделю. Это означает, что в течение недели файлы добавляются, удаляются и перемещаются из одной папки в другую.
Копировать только новые файлы или файлы, которые были изменены (необходимо проверить метаду файла)
В конце резервного копирования D: должен был бы в конечном итоге быть идентичным S:.
Это означает, что если бы я переместил файл из папки «A» в папку «B» в S:, задняя сторона увидела бы, что файл больше не находится в папке «A», и ему пришлось бы удалить его, чтобы сделать это папка, идентичная S:.
шаг 2, вероятно, плохо объяснен. , так что вот лучшее объяснение. Вот как я планирую делать вещи, если rsync не может этого сделать.
В python я бы создал скрипт, который выполняет следующее (по порядку):
Сравнивает D: с S: - Скрипт сначала пройдет D :. каждый раз, когда он входит в каталог, он смотрит на тот же каталог в S :. Затем он смотрит на файлы. Если файл находится в D:, но не в S :, это означает, что файл был удален или переименован или перемещен в S :. Поэтому удалите этот файл из D: (повторите этот процесс для всех папок)
Теперь, когда D: имеют одинаковые файлы (или меньше, если они были удалены в описанных выше шагах), начните копирование. Сначала проверьте, существует ли текущий файл в S: в D :, если нет, то скопируйте. Если это так, проверьте метаданные. если он был изменен, скопируйте и перезапишите.
Извините, если я не объяснил это слишком хорошо, сейчас 4:15 утра, и, честно говоря, я устал от ручного удаления всех D: и копирования файлов из S: = /