Редкий пост в этом блоге для линуксоидов. Надеюсь, что все описанное ниже скоро станет не актуальным. Дело в том, что для Linux до сих пор нет официального клиента Google Drive. Есть Linux клиенты для Dropbox, для Pcloud, а для Google Drive клиента нет. Есть, правда, google-drive-ocamlfuse, но это решение в виде подключенного сетевого диска, это не то.
Итак, вот что хотят многие пользователи. Есть ноутбук, есть компьютер на работе и нужно чтобы содержимое специальной папки на ноутбуке синхронизировалось с содержимом папки на рабочем компьютере. При чем, хорошо иметь ту же самую папку еще и в облаке, чтобы можно было зайти в нее с еще какого нибудь устройства (с телефона, например). Если я меняю файл в папке на рабочем компе, то автоматически меняется файл в облаке. А когда я приеду домой и открою ноутбук, то и в нем появится новая версия файла, подгруженная из облака. Я могу дома поработать над файлом, изменения немедленно загрузятся в облако. И на следующий день, когда я на работе включу компьютер, то на его локальный диск с облака подгрузится измененный дома файл. Это называется двусторонняя синхронизация (two way sync).
Для синхронизации с участием облака (того же Google Drive) в Linux есть программа rclone (запускается из терминала). Но дело в том, что rclone позволяет делать только одностороннюю синхронизацию. То есть, rclone позволяет сделать простую вещь: сделать так, чтобы содержимое папки 1 (локальной или на облаке) было таким же, как содержимое папки 2 (на облаке или локальной). Это отлично подходит для организации backup, однако такого функционала недостаточно для организации двусторонней синхронизации, которая нам нужна. Однако, добрые люди написали скрипт на Python (проект rclonesync), который является “надстройкой” над rclone и позволяет сделать полноценную two way синхронизацию в Linux.
Инструкция.
Пусть у вас есть аккаунт в Google и вы пользуетесь Google Drive. Для удобства сделайте в корне Google Drive папку которая и будет синхронизироваться. Пусть ее название будет “linuxfolder”.
Continue reading