Я использую Unison для такой синхронизации. Он построен поверх протокола rsync
. Помимо прочего, я синхронизирую каталоги документов между Windows и Linux. Конфликты изменений необходимо обрабатывать вручную, но удаления обрабатываются интеллектуально.
Первый запуск займет некоторое время, после этого нужно обрабатывать только изменения.
РЕДАКТИРОВАТЬ: я неправильно понял ваше первоначальное требование. На мой взгляд, это странное требование, если только по какой-то причине у вас нет файлов, которые вы хотите переносить на больший диск, и файлов, которые вы не хотите переносить на другой диск. Отсутствие промежуточного пространства также странно.
Если файлы на любом диске сжимаемы, то будет работать сжатый архив (zip, tar и т.д.) Одного диска в вашей системе, перемещать файлы между дисками и затем восстанавливать исходный архив на другой диск. Также можно сжать файл на обоих дисках с помощью gzip. Перемещайте файлы назад и вперед и распаковывайте.
Если вы хотите переместить файлы в A, переместить файлы в B, переместить файлы в A ... тогда rsync
с одними правилами поиска может сделать то, что вам нужно. Небольшой сценарий оболочки вокруг него для переключения направлений на каждом проходе потребуется. Каталоги в обеих системах должны быть разными. Возможно, вам придется изменить / переименовать каталоги для перемещения.