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

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

При всём множестве облачных сервисов для хранения данных, лишь немногие позволяют обеспечить синхронизацию данных только в консольном режиме без привлечения GUI. Из того, что я нашёл и опробовал – Яндекс.Диск и MEGA.NZ.

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

Сразу оговорка. Все прелести сервиса (50 Гб и неограниченный трафик) доступны только тем, кто регистрировался на нём сразу после его запуска. Сейчас его монетизировали и оставили только 15 Гб. Кроме того, есть квота трафика на скачивание, на загрузку квоты нет. В принципе, если использовать сервис чисто для бэкапа и скачивать архивы оттуда только по необходимости, то сервис вполне можно использовать и на бесплатном аккаунте. В крайнем случае, Pro-аккаунт стоит совсем недорого.
  1. Переходим на страницу MEGAcmd, выбираем свой дистрибутив Linux и скачиваем готовый пакет для него. Я ставлю на CentOS 7 – выбираем CentOS 7.0 и скачиваем пакет. Прямой ссылки на него нет.
  2. Перемещаем любым доступным способом полученный пакет на сервер, например WinSCP
  3. Переходим в каталог, куда поместили пакет и устанавливаем его:
    yum install /home/megacmd-CentOS_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. В реальности он обладает гораздо более широкими возможностями.