актуально
Бекап сайта с виртуальной машины Битрикс на Яндекс Диск

Бекап сайта с виртуальной машины Битрикс на Яндекс Диск

Так как все больше владельцев сайтов выбирает вместо обычных хостингов размещение на VPS вопрос бекапов обретает новый смысл. Большинство провайдеров VPS не предоставляют инструментов резервного копирования сервера или предоставляют платные тарифы, что традиционно игнорируется пользователями. В итоге. в случае любой аварии, восстановить сайт попросту не из чего.

Да, настройка регулярного резервного копирования, позволяет подстраховаться и иметь облачный бекап, но с одной стороны объем включенного в лицензию облака невелик, с другой не всегда передача архивов в облако проходит безукоризненно, с третьей облако доступно только при активной лицензии, а ее продлевают не все.

Альтернативой штатному облаку являются популярные облачные хранилища - Google Drive, OneDrive, Яндекс Диск и прочие. В примере мы остановимся на Яндекс Диске и на то есть 3 причины:

  1. 48Гб+ места абсолютно бесплатно
  2. наличие родного и сторонних клиентов под разные Linux
  3. доступ к Диску через WebDAV
Бекап архивов Битрикс VM на Яндекс Диск

В данной инструкции мы предполагаем, что у пользователя уже настроен штатный механизм резервного копирования и наша задача хранить бекапы этих самых копий на удаленном сервере. Настроить копирование по инструкции можно на любом Unix сервере, но в примерах рассмотрена работа на VPS под управлением CentOS 7 с установленной Виртуальной Машиной Битрикс 7.2.2

Установка необходимого ПО и получение разрешений

1. Установим клиент который будет синхронизировать наши архивы. Для копирования файлов на Диск будем использовать сторонний клиент - ydcmd [1]. Клиент от Anton Batenev для данной задачи более оптимален, чем официальный [2] от "Яши"

git clone https://github.com/abbat/ydcmd.git
sudo cp ydcmd/ydcmd.py /usr/local/bin/ydcmd

После установки клиента необходимо установить в систему python-dateutil

yum install python-dateutil

2. Получим токен необходимый для работы с Диском по API

ydcmd token

В ответ вы увидите URL по которому необходимо перейти для получения кода подтверждения, у меня это код - 3027022. Скопируем его и повторим команду, но с кодом

ydcmd token 3027022

В ответ получим необходимы нам OAuth token

Настройка

В папке пользователя создадим файл .ydcmd.cfg с правами 0400 и содержимым

[ydcmd]
token = РАНЕЕ-ПОЛУЧЕННЫЙ-OAuth token-
verbose = yes

Строчка с verbose = yes необходима для отладки в случае проблем.

Технически настройка По на этом завершена, нам осталось добавить в cron команду на регулярную синхронизацию папки с backup нашего сайта и папки на Яндекс.Диске

Открываем файл /etc/crontab и добавляем туда нашу строку с указанием что. откуда и куда. У меня в примере, архивы внутреннего бекапа сайта demo.ua в 01:10 ночи синхронизируются с папкой smsdesign.com.ua в моем диске

10 1 * * * root /usr/local/bin/ydcmd put --rsync /home/bitrix/www/demo.ua/bitrix/backup disk:/smsdesign.com.ua

Готово. Теперь мы имеем резервную копию резервной копии на удаленном сервере.

Примечания

  1. Консольный клиент Linux/FreeBSD для работы с облачным хранилищем Яндекс.Диск посредством REST API - GitHub.
  2. Официальный консольный клиент для Linux - Яндекс Диск.

Комментарии
Подписаться
Полезность статьи
0 / 5 5 5 1
На основе 0 оценок
0%
0%
0%
0%
0%
Понравилась статья?
Отлично
Комментарий*
Представьтесь

Возврат к списку