Успей заказать VPS-сервер со скидкой 15%
Акция завершится через
00Дней
:
00Часов
:
00Минут
:
00Секунд

Автоотгрузка бэкапов в FTP-хранилище

Многие пользователи задумываются над созданием регулярных бекапов своих данных, и это великолепно! Но как автоматизировать процесс выгрузки резервных копий?

В данной статье мы будем работать с услугой «‎Внешнее FTP-хранилище».

Активация FTP-хранилища

Эта услуга доступна в соответствующем разделе Биллинга. Выберем «Динамический тариф».

Выбор динамического тарифа для FTP-хранилища

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

Настройка объема FTP-хранилища

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

Активированная услуга FTP-хранилища

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

В отдельном окне откроется вкладка со всеми необходимыми для работы данными.

Инструкция с данными для подключения к FTP-хранилищу

Тестовая отгрузка lftp

Теперь перейдем к нашему основному серверу, с которого будет происходить загрузка файлов в FTP-хранилище. Нам пригодится статья «Работа с FTP-хранилищем».

Нам понадобится lftp. Установка утилиты на Debian/Ubuntu производится командой

Установка lftp на сервере

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

Создание тестового файла командой touch

Есть. Введем команду для отгрузки файла:

login — имя пользователя хранилища.

pass — пароль от хранилища.

backup.s1.fsn.spacecore.pro — сервер отгрузки (не нужно изменять).

/ — директория, куда будет загружен файл в хранилище.

file — имя файла, который необходимо отгрузить.

Для нашей услуги будет актуальна данная команда, вводим.

После ввода происходит подключение к удаленному серверу, а также отгрузка файла (время отгрузки колеблется в зависимости от размера передаваемого файла и скорости сети). По окончании процесса мы можем увидеть наш файл, подключившись к хранилищу через FTP.

Файл, загруженный в FTP-хранилище

Но все еще остается актуальным вопрос: «Как можно автоматизировать этот процесс?».

Для начала создадим скрипт, который при запуске будет выполнять все необходимые для нас действия. Создадим файл и откроем редактор при помощи команды

Где backup.sh — название файла

Создадим короткий скрипт с нашей командой для отгрузки.

↙ Для копирования нажмите на строку

Где #!/bin/bash — необходимая строка, указывающая, что перед нами именно shell-скрипт.

/backups — новая директория для хранения отгруженного файла в хранилище (которую необходимо создать на самом FTP-сервере).

backup.tar.gz — преждевременно новое имя файла для отгрузки.

По желанию перед отгрузкой файла можно добавить команды архивации тех важных данных, которые необходимо сохранить на удаленном сервере.

Сохраняем файл наш скрипт при помощи сочетания Ctrl + X -> y.

Теперь пробуем отгрузить файл при помощи Shell-скрипта (в нашем случае для отгрузки указан архив backup.tar.gz, поэтому сначала создадим его). Затем используем наш скрипт.

Отгрузка началась. Ожидаем завершения процесса.

Запуск скрипта отгрузки backup.sh

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

Архив с данными на FTP-сервере
Проверка загруженного архива на FTP-сервере

Автоматизация через CRONTAB

Более подробную информацию о работе с CRON Вы сможете найти в виде публичных статей на различных веб-сайтах.

Воспользуемся командой для открытия конфига CRON.

Готово. В данный момент он пуст. В виде комментариев предоставлена информация от разработчиков по настройке автоматизации.

Открытый конфиг CRON

Минута Час День Месяц День_недели /путь/к/файлу

Добавим данную строку, чтобы установить регулярный запуск нашего скрипта отгрузки каждый день в 00:00 по времени сервера.

Где /root/backup.sh — путь до исполняемого файла.

Отличная работа! Мы создали собственный скрипт для отгрузки бекап-файла, а также научились автоматизировать данную задачу через CRON.