Техпідтримка 24×7 | +380 44 583-5-583 | support@tucha.ua

Як налаштувати синхронізацію з сервісом TuchaBackup через rsync

  1. Головна
  2. Блог
  3. Інструкції
  4. Як налаштувати синхронізацію з сервісом TuchaBackup через rsync
Категорії

Користувачі задають питання в службу підтримки, а ми відповідаємо докладними статтями, щоб користь отримали всі. Сьогодні важлива тема, яку ми ще не висвітлювали — настройка синхронізації з сервісом TuchaBackup через rsync / SSH.

Основна функція rsync — синхронізація даних.

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

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

Завдання. Необхідно налаштувати автоматичне створення копій баз даних та подальше завантаження цих копій спільно з даними сайту в хмарне сховище.

Рішення. Для регулярного створення дампов баз даних можна використовувати наступний скрипт:


#!/bin/sh
 
TIMESTAMP="$(date '+%Y%m%d%H%M%S')"
DIR="/var/backup/mysql"
DATABASES=$(find /var/lib/mysql -type d)
 
# Або просто перерахуйте імена баз даних через пробіл
for DATABASE in ${DATABASES}; do
if [ ! -d "${DIR}/${DATABASE}" ]; then
mkdir "${DIR}/${DATABASE}"
fi
mysqldump \
--single-transaction=TRUE \
--lock-tables=FALSE \
--quick "${DATABASE}" \
> "${DIR}/${DATABASE}/${TIMESTAMP}.sql"
bzip2 -9 "${DIR}/${DATABASE}/${TIMESTAMP}.sql"
done
find "${DIR}" -name '*.sql.bz2' -mtime 20 -delete

При виконанні цього сценарію система створить бекапи для кожної бази і видалить резервні копії старше 20 днів.

Для його роботи зверніть увагу на таке встановлене ПЗ:

Сервер баз даних mysql і його утиліта mysqldump. Без них робота цього сценарію не має сенсу.

Архіватор bzip2. Без нього, не виконуватимуться стиснення резервних копій баз, відтак не будуть створюватися файли з розширенням .bz2, а саме старі екземпляри стислих файлів і видаляються при перевищенні 20 денного ліміту.

Для запуску цього сценарію на регулярній основі буде потрібно додати інструкцію, що визначає час періодичність запуску, в конфігурацію cron.

Для організації безпосередньо копіювання створених файлів в сховище TuchaBackup використовується наступний сценарій:


#!/bin/sh
 
PATH=/bin:/usr/bin
HOSTNAME=$(hostname)
USERNAME="aXXXXXXXX" # ім'я користувача сервісу TuchaBackup
INCLUDES="/etc/rsync-backup.includes"
EXCLUDES="/etc/rsync-backup.excludes"
BSERVERADDR="bh3.tuchastore.tucha13.net"
BSERVERPORT="22"
DATE=$(date +%Y.%m.%d-%H:%M:%S)
 
[ -e ${EXCLUDES} ] || touch ${EXCLUDES}
 
rsync \
--rsh="ssh -p ${BSERVERPORT} -i ${HOME}/.ssh/id_rsa.backup" \
--verbose \
--archive \
--relative \
--perms \
--force \
--ignore-errors \
--delete \
--backup \
--backup-dir="~/${HOSTNAME}-${DATE}" \
--exclude-from="${EXCLUDES}" \
$(cat "${INCLUDES}" | sed -r -n "s/^[[:space:]]*([^#]+)([[:space:]]*#.*)?$/\1/gp") \
"${USERNAME}@${BSERVERADDR}:~/${HOSTNAME}"

У файлі /etc/rsync-backup.includes перерахуйте імена каталогів та файлів, які повинні бути включені в архів. Наприклад, так:


/etc
/var

У файлі /etc/rsync-backup.excludes перерахуйте імена тих файлів і каталогів, які повинні бути виключені. Наприклад, так:


/var/log
/var/run

Для роботи цього сценарію є ряд вимог:

Власне, сам rsync.

Клієнт openssh. Без нього система не зможе з'єднатися з віддаленим сервером.

Наявність облікового запису на віддаленому сховищі з відповідними правами.

Наявність RSA-ключа для цього запису. Він служить для можливості авторизації без пароля. Ключ генерується в системі, з якої здійснюється копіювання даних, а його його публічна частина повинна бути розміщена в файлі ~ / .ssh / authorized_keys з боку сховища.

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

Попередньо радимо виконати сценарій вручну, щоб переконається, що копіювання здійснюється успішно.

Як бачите, все просто і зрозуміло.

А якщо у вас залишилися питання, звертайтеся до нас в будь-який час. Ми завжди на зв'язку. І раді вам 24х7.

Поділитися:
Статті по темі

Таке питання нерідко виникає у користувачів під час підключення їхнього віртуального сервера до мережі Інтернет. Розповідаємо, що таке віртуальний маршрутизатор та які його функції.

Ділимося корисною інформацією для користувачів віртуальних машин. До служби техпідтримки Tucha досить часто звертаються клієнти з питанням, як налаштувати прокидання портів до сервера...

Як додати віртуальній машині додатковий дисковий контейнер? Покрокова інструкція...

Сьогодні ми розповімо про принципи роботи DNS та керування основними записами

Потрібно зробити лише п'ять кроків. Аби заощадити ваш час, ми склали наочну інструкцію, з якою ви точно не заблукаєте серед безлічі функцій та можливостей Apache CloudStack.

Закрити
Замовити зворотний дзвінок

Будь ласка, перевірте правильність заповнення поля з номером телефону

Поля обов'язкові для заповнення.
Цей сайт захищено reCAPTCHA та приймаються Політика конфеденційності й Умови користування від Google.

Ми використовуємо cookies.

Ми використовуємо файли cookies, щоб забезпечити основні функціональні можливості на нашому сайті і збирати дані про те, як відвідувачі взаємодіють з нашим сайтом, продуктами і послугами. Натискаючи Прийняти або продовжуючи використовувати цей сайт, ви погоджуєтеся з тим, що ми використовуємо ці інструменти для реклами і аналітики згідно з «Політикою про файли сookies»

ПрийнятиВідмовитись