Алгоритм синхронизации нескольких папок на одном ПК?

Имеем:
Две разных папки на одном и том же ПК - домустим, папка A:
C:../Desktop/Files
и папка B:
D:/ DeskFiles

Задача:
Запилить программу, которая бы постоянно крутилась фоновым процессом и синхронизировала обе папки при любых изменениях в любой из них.
Кейсы:
1. Удалил файл из папки A - он автоматически удалился из папки B и наоборот.

2. Добавил файл в папку А - он продублировался в папку B и наоборот

Причем все это должно потреблять минимум ресурсов ПК(по времени синхронизации ограничений нет).
Пока приходит в голову только сравнение хэш-сумм через промежутки времени в цикле, но не уверен в адекватности такого способа - с хэшами практически не работал.
P.S: возможно есть какие-то библиотеки для этого?
  • Вопрос задан
  • 545 просмотров
Решения вопроса 3
DevMan
@DevMan
https://msdn.microsoft.com/en-us/library/windows/d...

или использовать порты inotify.
Ответ написан
Комментировать
devalone
@devalone
̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻̻
Как вариант можно использовать это doc.qt.io/qt-5/qfilesystemwatcher.html если нет ограничений по либам. А сравнивать можно по времени изменения файла, либо по хеш сумме.
Ответ написан
Комментировать
adugin
@adugin Куратор тега Python
Библиотека watchdog - то, что надо.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Basil_Dev Автор вопроса
Нашел любопытную либу для питона - dirsync. Пока не проверял, завтра буду ковырять.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы