Начиная с версии 1.30, в менеджере накопления информации MyTetra появилась возможность синхронизации данных через интернет. О том, как настроить синхронизацию, написано в этой статье.
Синхронизацию в MyTetra можно сделать с помощью любых систем облачного хранения данных или систем контроля версий. Желательно, чтобы эти системы поддерживали атомарность. Атомарность - это такое свойство системы, при котором все файлы обновляются на состояние, соответсвующее одному моменту времени. Облачные системы хранения данных типа DropBox или Яндекс.Диск не обладают атомарностью, поэтому при их использовании желательно наличие хорошего интернета.
Свойством атомарности обладает система контроля версий Git, и я использую её для синхронизации. В качестве хостинга я использую GitHub.com .
GitHub.com предоставляет бесплатный тарифный план для хранения 300Мб данных в открытом виде. Это значит, что любой пользователь интернета может скачать себе ваши данные. На GitHub можно разместить и закрытые репозитарии, заплатив 7$ в месяц. А можно воспользоваться встроенным в MyTetra шифрованием, разместив бесплатно и безопасно свои данные у всех на виду. В любом случае, на бесплатном аккаунте GitHub никто не сможет изменить ваши данные - все создаваемые репозитарии имеют режим только чтение (Read Only) для других пользователей GitHub. Пока вы не пропишите дополнительных пользователей, которые могут иметь доступ на запись в репозитарий, вашей базе ничего не угрожает.
Итак, начнем.
Что необходимо для синхронизации
Для того, чтобы сделать синхронизацию через git, нужно иметь две вещи: установленный git и аккаунт на GitHub. Тех, кто никогда не работал с git и GitHub, я отправляю читать статью:
Установка GIT и настройка на GitHub: полное руководство (Windows, Linux)
Создание репозитария с данными MyTetra
Перво-наперво нужно создать новый пустой репозитарий в системе GitHub. Далее будем считать, что для синхронизации вы создали репозитарий с именем mytetra. Создание репозитария производится в веб-интерфейсе GitHub.
Затем нужно выяснить, где находится на вашем компьютере директория с данными программы MyTetra. Запускаем MyTetra, нажимаем "Инструменты" -> "Настройки" -> "Основные". В поле "Директория с данными" нажимаем кнопочку с тремя точками [...] и смотрим, где расположена директория /data. Все дальнейшие действия из консоли следует выполнять внутри директории /data.
Итак, переходим в директорию /data и даем следующие команды:
git init
git add .
git commit -a -m "first commit"
<<<<<<< HEAD
*git remote add origin git@github.com:username/mytetra.git
git remote add origin git@gitlab.com:alensav/MyTetra2.git
=======
git remote add origin git@github.com:username/mytetra.git
>>>>>>> 73a9da114dcfb573d46d6b650021ff39c5f3de08
git push -u origin master
Вместо username надо, естественно, написать свой GitHub-логин . В результате этих действий, в каталоге /data появится подкаталог .git - это системный каталог программы git. Если при выполнении команд не возникло ошибок, значит, начиная с этого момента, данные уже лежат на сервере GitHub. И их можно посмотреть через web-интерфейс системы GitHub.
Помните, что заливая данные на GitHub, вы делаете их открытыми всему интернету! Поэтому, если у вас есть приватные данные, которые нельзя никому показывать, не забудьте предварительно их зашифровать! Шифровать данные нужно перед тем, как будете делать заливку на сервер, так как система git позволяет просматривать историю данных.
Настройка синхронизации в MyTetra
В MyTetra, нажимаем "Инструменты" -> "Настройки" -> "Синхронизация". Видим вот такие настройки:
В поле "Команда синхронизации" задаем следующую команду.
Для пользователей Linux:
cd %a ; git add . ; git commit -a -m MyTetraCommit ; git pull -s recursive ; git push
Для пользователей Windows:
cd \ & cd "%a" & git add . & git commit -a -m MyTetraCommit & git pull -s recursive & git push
Внимание! Если данные находятся на диске, отличным от C:, надо добавлять в команду смены каталога еще и смену диска. Например, вместо "cd \" следует писать "cd D:\".
После чего добавляем в MyTetra пару записей, редактируем уже существующие, удаляем ненужные. Затем нажимаем на кнопку синхронизации, и, если всё в порядке, на сервере GitHub будут зафиксированы эти изменения. |