Авто-отгрузка бекапов
Многие пользователи задумываются над созданием регулярных бекапов своих данных, и это великолепно! Но как автоматизировать процесс выгрузки резервных копий?
В данной статье мы будем работать с услугой «Внешнее FTP-хранилище».
Активация FTP-хранилища
Эта услуга доступна в соответствующем разделе Биллинга. Выберем «Динамический тариф».

Указываем необходимое количество памяти хранилища (до 3,5Тб), например, 50Гб, после чего добавляем тариф в корзину и оплачиваем.

Через несколько секунд после оплаты услуга будет активирована и видна в специальном разделе.

Получить данные для работы с ней мы можем, выбрав услугу и нажав на кнопку «Инструкция».
В отдельном окне откроется вкладка со всеми необходимыми для работы данными.

Тестовая отгрузка lftp
Теперь перейдем к нашему основному серверу, с которого будет происходить загрузка файлов в FTP-хранилище. Нам пригодится статья «Работа с FTP-хранилищем».
Нам понадобится lftp. Установка утилиты на Debian/Ubuntu производится командой
sudo apt-get -y install lftp

Отлично! Попробуем отгрузить тестовый файл, но преждевременно создадим его при помощи команды touch.

Есть. Введем команду для отгрузки файла:
lftp ftp://login:pass@backup.s1.fsn.spacecore.pro:21 -e "set ftp:ssl-allow no; put -O / file; quit"
Для нашей услуги будет актуальна данная команда, вводим.
lftp ftp://spacecore35176:KDAcfR4p1tyz@backup.s1.fsn.spacecore.pro:21 -e "set ftp:ssl-allow no; put -O / spacecore; quit"
После ввода происходит подключение к удаленному серверу, а также отгрузка файла (время отгрузки колеблется в зависимости от размера передаваемого файла и скорости сети). По окончании процесса мы можем увидеть наш файл, подключившись к хранилищу через FTP.

Но все еще остается актуальным вопрос: «Как можно автоматизировать этот процесс?».
Для начала создадим скрипт, который при запуске будет выполнять все необходимые для нас действия. Создадим файл и откроем редактор при помощи команды
nano backup.sh
Создадим короткий скрипт с нашей командой для отгрузки.
#!/bin/bash
lftp ftp://spacecore35176:KDAcfR4p1tyz@backup.s1.fsn.spacecore.pro:21 -e "set ftp:ssl-allow no; put -O /backups backup.tar.gz; quit"
Сохраняем файл наш скрипт при помощи сочетания Ctrl + X -> y.
Теперь пробуем отгрузить файл при помощи Shell-скрипта (в нашем случае для отгрузки указан архив backup.tar.gz, поэтому сначала создадим его). Затем используем наш скрипт.
sh backup.sh
Отгрузка началась. Ожидаем завершения процесса.

Скрипт работает! Наш архив с данными успешно отгружен на удаленный FTP-сервер.


Автоматизация через CRONTAB
Более подробную информацию о работе с CRON Вы сможете найти в виде публичных статей на различных веб-сайтах.
Воспользуемся командой для открытия конфига CRON.
crontab -e
Готово. В данный момент он пуст. В виде комментариев предоставлена информация от разработчиков по настройке автоматизации.

Добавим данную строку, чтобы установить регулярный запуск нашего скрипта отгрузки каждый день в 00:00 по времени сервера.
0 0 * * * /root/backup.sh
Отличная работа! Мы создали собственный скрипт для отгрузки бекап-файла, а также научились автоматизировать данную задачу через CRON.
Last updated
Was this helpful?