Замовляйте VPS-сервер зі скидкою 15%
Акція завершиться через
00Днів
:
00Годин
:
00Хвилин
:
00Секунд

Автоматизоване завантаження резервних копій

Багато користувачів замислюються над налаштуванням регулярних резервних копій своїх даних, і це чудово! Але як автоматизувати процес завантаження цих бекапів?

У цій статті ми працюватимемо з послугою "Зовнішнє FTP-сховище".

 

Активація FTP-сховища

Ця послуга доступна у відповідному розділі панелі Billing. Оберіть "Динамічний тариф".

 

Укажіть потрібний обсяг сховища (до 3.5 TB, наприклад 50 GB), після чого додайте тариф до кошика й оплатіть.

 

За кілька секунд після оплати послуга буде активована й відобразиться у спеціальному розділі.

 

Щоб отримати облікові дані для роботи з нею, виберіть послугу та натисніть кнопку "Інструкція".

У новій вкладці відкриється сторінка з усіма даними, необхідними для використання послуги.

 

Тестове завантаження за допомогою 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"
 

login — ім’я користувача сховища.

pass — пароль до сховища.

backup.s1.fsn.spacecore.pro — сервер завантаження (не потрібно змінювати).

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

file — назва файла, який потрібно завантажити.

Для нашої послуги актуальна саме ця команда, тож виконуємо її.


lftp ftp://spacecore35176:KDAcfR4p1tyz@backup.s1.fsn.spacecore.pro:21 -e "set ftp:ssl-allow no; put -O / spacecore; quit"

 

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

 

Проте запитання "Як ми можемо автоматизувати цей процес?" усе ще залишається актуальним.

Спочатку створимо скрипт, який під час запуску виконуватиме всі необхідні дії. Створіть файл і відкрийте редактор за допомогою команди:

nano backup.sh
 

Де 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"
 

Де #!/bin/bash — обов’язковий рядок, який указує, що це саме shell-скрипт.

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

backup.tar.gz — нова, заздалегідь підготовлена назва файла для завантаження.

 

За бажанням перед завантаженням файла можна додати команди архівації важливих даних, які потрібно зберігати на віддаленому сервері.

Зберігаємо файл зі скриптом за допомогою комбінації клавіш Ctrl + X -> y.

Тепер спробуємо завантажити файл за допомогою shell-скрипта (у нашому випадку для завантаження вказано архів backup.tar.gz, тож спочатку створимо його). Потім запускаємо наш скрипт.

sh backup.sh

 

Завантаження розпочато. Очікуємо завершення процесу.

Скрипт працює! Наш архів із даними успішно завантажено на віддалений FTP-сервер.

 
 
 

Автоматизація за допомогою CRONTAB

Більш детальну інформацію про роботу з CRON можна знайти в публічних статтях на різних вебсайтах.

Скористаємося такою командою, щоб відкрити конфігурацію CRON:

crontab -e

 

Готово. Наразі вона порожня. У вигляді коментарів наведена інформація від розробників щодо налаштування автоматизації.

 

Хвилина Година День Місяць День_тижня /шлях/до/файла

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

0 0 * * * /root/backup.sh
 

Де /root/backup.sh — шлях до виконуваного файла.

Чудова робота! Ми створили власний скрипт для завантаження файла резервної копії, а також навчилися автоматизувати це завдання за допомогою CRON.