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

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

Сьогодні розповімо, як створити нового користувача у Windows Server 2012 R2 та додати його до групи користувачів віддаленого робочого стола

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

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

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

Site-to-site VPN — вид підключення, при якому два маршрутизатори об'єднуються в одну локальну мережу. Підключення відбувається через шифрований тунель, забезпечує безпечне зберігання інформації та виключає ряд проблем, які можуть виникати при підключенні до віддаленого робочого столу

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

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

Поля обов'язкові для заповнення.

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

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

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