Як налаштувати синхронізацію з сервісом 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.

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

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

Поетапний план тестування і використання TuchaBackup. Отже, ви отримали реквізити доступу, що далі?

Щось на зразок передмови Мене звуть Володимир Мельник, і я наркоман уже 13 років відповідаю за технічні аспекти роботи нашої компанії. Будучи не тільки письменником, але і в якійсь мірі ...

З листів до служби техпідтримки Tucha народжуються справжні статті. Так, нещодавно до нас звернувся клієнт із запитом роз’яснити, що відбувається при з'єднаннях всередині VPN-тунелю між офісом користувача та середовищем у хмарі, а також при з’єднаннях поза VPN-тунелем. Тож увесь текст, наведений нижче, — це реальний лист, який ми надіслали одному з клієнтів у відповідь на його запитання. Звісно, змінили IP-адреси, аби не деанонімізувати клієнта. Але, так, служба технічної підтримки Tucha справді славиться своїми розгорнутими відповідями та змістовними листами. :-)

Розповімо вам прохолодну історію про те, як «треті особи» намагалися перешкодити роботі наших клієнтів і як ця проблема була вирішена ...

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

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

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