Синхронизировать папку между двумя компьютерами, используя как локальную сеть, так и облако

473
Esoremada

Я ищу способ сделать следующее:

  1. Синхронизируйте папку A на моем ноутбуке с папкой B на моем ПК, перенося любые изменения с одного компьютера на другой, используя локальную сеть.
  2. Если я изменю одну из папок, когда другая машина выключена, изменения будут загружены в облачное хранилище, например Dropbox, Google Drive или OneDrive, и загружены на другую машину после ее включения. Когда изменения синхронизируются, данные могут быть удалены из облака.

Я могу сделать # 1, включив общий доступ по локальной сети для каждой папки и используя FreeFileSync на каждом компьютере для синхронизации локальной папки с другой. Однако я хотел бы, чтобы мои изменения синхронизировались без необходимости одновременного включения обеих машин.

Папки слишком велики, чтобы хранить их полностью в облаке, но изменения, которые я делаю каждый день, - нет.

0

1 ответ на вопрос

0
ams

Это можно сделать с помощью rsync, но для этого требуется наличие двух копий данных на отправляющей стороне.

  1. Создайте две одинаковые локальные копии ваших данных: «рабочие» и «оригинальные».
  2. Отредактируйте «рабочий» так, как вы хотите.
  3. rsync -a --write-batch="diff-file" working/ original/
    • Это синхронизирует все ваши правки от «рабочего» до «оригинального», но также создаст файл «diff-file», содержащий только различия.
  4. Загрузите «diff-файл» в облако.

На приемной машине:

  1. Скачайте "diff-файл" из облака.
  2. rsync -a --read-batch="diff-file" localcopy/
  3. Удалить "diff-файл".

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