вторник, 6 марта 2018 г.

Бэкап в облако mega.nz из консоли CentOS 7

При всём множестве облачных сервисов для хранения данных, лишь немногие позволяют обеспечить синхронизацию данных только в консольном режиме без привлечения GUI. Из того, что я нашёл и опробовал - Яндекс.Диск и MEGA.NZ.
Яндекс.Диск очень хорошо документирован, но единственный его недостаток - всего 10 Гб на бесплатном тарифе.
Mega.NZ также очень неплохо документирован, имеет консольную версию и предоставляет целых 50 Гб на бесплатном тарифе. Его консольный клиент называется MEGAcmd. Процесс его установки и настройки в CentOS 7 описан в этом посте.


Сразу оговорка. Все прелести сервиса (50 Гб и неограниченный трафик) доступны только тем, кто регистрировался на нём сразу после его запуска. Сейчас его монетизировали и оставили только 15 Гб. Кроме того, есть квота трафика на скачивание, на загрузку квоты нет. В принципе, если использовать сервис чисто для бэкапа и скачивать архивы оттуда только по необходимости, то сервис вполне можно использовать и на бесплатном аккаунте. В крайнем случае, Pro-аккаунт стоит совсем недорого.
  1. Переходим на страницу MEGAcmd, выбираем свой дистрибутив Linux и скачиваем готовый пакет для него. Я здесь рассматриваю CentOS 7 - выбираем RedHat 7 и скачиваем пакет. Прямой ссылки на него не предлагается.
  2. Перемещаем любым доступным способом полученный пакет на сервер.
  3. Переходим в каталог, куда поместили пакет и устанавливаем его:
    rpm -i megacmd-RHEL_7.x86_64.rpm
  4. Подключаем megacmd к сервису командой 
    mega-login <ваш_логин> <ваш_пароль>
    Логин и пароль указываем от заранее созданной учётной записи. Если её нет, то перед выполнением вышеуказанной команды создайте новую учётку.
  5. После успешного подключения к учётке (если не выскочило ошибок, значит всё ОК), можете проверить что всё работает командой
    mega-ls
    Она выведет список каталогов в облаке (если они там есть). Подключение автоматически восстанавливается после перезагрузки сервера. Для отключения от учётной записи используйте команду 
    mega-logout
  6. На сервере создаём каталог для синхронизации
    mkdir /mega
  7. Предположим, что в облаке у нас есть синхронизируемый каталог /linux_test и мы хотим синхронизировать его с локальным каталогом /mega. Тогда команда для выполнения синхронизации будет такой: 
    mega-sync /mega/ /linux_test/
    После этого локальный каталог /mega будет непрерывно синхронизироваться с облаком. После перезагрузки сервера все параметры синхронизации восстанавливаются и нет необходимости повторно давать эту команду.
  8. Для просмотра синхронизируемых каталогов нужно выполнить команду mega-sync без параметров
  9. Для прекращения синхронизации определённого каталога сначала даём команду mega-sync без параметров и смотрим его ID. Предположим, синхронизируемый в нашем примере каталог /mega имеет ID = 0. Тогда для прекращения его синхронизации команда будет такой: 
    mega-sync -d 0
    Также можно выполнить эту команду не с ID, а с именем локального каталога: 
    mega-sync -d /mega/
Это лишь основной функционал консольного клиента mega.nz. В реальности он обладает гораздо более широкими возможностями.
Если кто-то из читателей знает другие облачные сервисы, имеющие официальную поддержку консольного клиента, буду очень благодарен за комментарии.

Комментариев нет:

Отправить комментарий