Створення резервних копій сайту за допомогою rsync на centos 6

Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний VPS / VDS сервер на швидких SSD за 1 хвилину!

Кращий хостинг:
- захистить дані від несанкціонованого доступу в охоронюваному європейському ЦОДі
- прийме оплату хоч в bitcoin.
- дозволить поставити свій дистрибутив

- захист від DDos-атак
- безкоштовний backup
- Uptime 99,9999%
- ЦОД - TIER III
- провайдер - TIER I

Підтримаємо російською мовою 24/7/365 Працюємо з юрособами і фізособами. Вам прямо зараз потрібно 24 ядра і 72 Gb RAM. Будь ласка!

Наші вигідні тарифи доведуть, що дешевий хостинг ви ще не знали!

Хвилинна справа: виберіть конфігурацію, оплатіть і CMS на VPS готова.
Money Back - 30 днів!

Банківськими картами, електронною валютою, через термінали Qiwi, Webmoney, PayPal, Новоплат і ін.

Задайте питання в службу підтримки 24/7/365

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

Пропозиція від 8host.com

Створення резервних копій сайту за допомогою rsync на centos 6

Примітка. Замініть ці умовні дані своїми значеннями.

повний бекап

створення архіву

Отже, необхідні дані зберігаються в каталозі / var / www / wordpress. Створіть каталог для резервного копіювання:

mkdir -p / backup / wordpress

Щоб створити повну резервну копію даних, використовуйте інструмент tar.

tar -czf /backup/wordpress/initial_backup.tar.gz
/ Var / www / wordpress

Цей інструмент створить gzip-архів у файлі initial_backup.tar.gz; прапор -czf значить c reate, gz ip і f ile. Можна також додати прапор v (-czvf). щоб отримати розширений висновок.

З назві файлу для бекапа слід, що ця початкова копія (initial backup) була заархівувати за допомогою tar в форматі gzip.

Інструмент tar може копіювати кілька точок системи:

tar -czf /backup/cms_systems_backup.tar.gz / var / www / wordpress
/ Var / www / drupal / var / www / joomla

Ця команда створить бекап всіх встановлених CMS.

Для зручності управління резервними копіями в назву файлу можна додати дату створення копії:

tar -czf / backup / wordpress / wordpress-`date '+% m.% y'`.tar.gz
/ Var / www / wordpress

] # Ls -l / backup / wordpress /
total 9760
-rw-r - r-- 1 root root 4995743 Apr 17 12:16 initial_backup.tar.gz
-rw-r - r-- 1 root root 4995743 Apr 17 12:25 wordpress-041713.tar.gz
[Root @ Backup

Тепер на сервері є два файли: initial_backup.tar.gz і wordpress-041715.tar.gz (де 041715 - дата створення копії).

EDITOR = nano crontab -e

[email protected]
30 3 * * * / bin / tar -czf / backup / wordpress / wordpress-`date
+\% M \. \% Y`.tar.gz / var / www / wordpress

Збережіть і закрийте файл.

Отже, тепер кожен день о 3.30 ранку система буде виконувати бекап даних, а потім відправляти результати по електронній пошті. У разі помилки в повідомлення буде містити інструкції по її усуненню.

Щоб скопіювати резервні копії даних на інший віддалений сервер, використовуйте scp. Спочатку створіть SSH-ключ:

Можна не створювати пароль для ключа і використовувати файл ключів /root/.ssh/id_rsa_backup (або /home/username/.ssh/id_rsa_backup, якщо поточний користувач не root). Перевірте відкритий ключ:

Скопіюйте відкритий SSH-ключ на віддалений сервер в файл authorized_keys. Передбачається, що у вас вже є заздалегідь підготовлений віртуальний виділений сервер на ім'я backup.example.com і користувач backup.

scp .ssh / id_rsa_backup.pub
[email protected]: /home/backup/backup_key.pub

Буде запропоновано ввести відповідний пароль користувача backup. Тепер ключ скопійований і його потрібно перемістити в authorized_keys. Щоб створити такий файл, введіть:

ssh [email protected] "mkdir -p /home/backup/.ssh"
ssh [email protected] "chmod 700 /home/backup/.ssh"
ssh [email protected] "touch /home/backup/.ssh/authorized_keys"
ssh [email protected] "chmod 600 /home/backup/.ssh/authorized_keys"
ssh [email protected] "mkdir -p / home / backup / backups"

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

ssh [email protected] "cat /home/backup/backup_key.pub >>
/home/backup/.ssh/authorized_keys "

Надалі цей ключ можна використовувати для обміну даними.

Скопіюйте файл бекапа на віддалений сервер:

scp -i .ssh / id_rsa_backup
/backup/wordpress/wordpress-041713.tar.gz
[email protected]: / home / backup / backups

Якщо ключ був встановлений правильно, то файл буде скопійований без запиту пароля. Переконайтеся, що файл переміщений:

ssh [email protected] "ls -l / home / backup / backups"

Тепер можна автоматизувати переміщення резервних копій на віддалений сервер за допомогою crontab.

EDITOR = nano crontab -e

Додайте в настройки бекапа команди, які скопіюють створений архів.

30 3 * * * / bin / tar -czf / backup / wordpress / wordpress-`date
+\% M \. \% Y`.tar.gz / var / www / wordpress; / usr / bin / scp -i
/root/.ssh/id_rsa_backup / backup / wordpress / wordpress-`date
+\% M \. \% Y`.tar.gz
[email protected]: / home / backup / backups

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

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

Даний розділ покаже, як за допомогою rsync створити інкрементного резервну копію каталогу var / www / wordpress і помістити її в каталог / home / backup / snapshots / wordpress на віддаленому сервері.

Для цього запустіть:

ssh [email protected] "mkdir -p / home / backup / sync"
rsync -avz --delete -e "ssh -i /root/.ssh/id_rsa_backup"
/ Var / www / wordpress [email protected]: / home / backup / sync

Перша команда створює каталог для зберігання копії, а друга копіює в нього змінені файли (відредаговані, створені, вилучені). Щоб запланувати цей бекап, відкрийте cron:

EDITOR = nano crontab -e

Додайте в файл наведене нижче

30 3 * * * / usr / bin / rsync -avz --delete -e "ssh -i
/root/.ssh/id_rsa_backup "/ var / www / wordpress
[email protected]: / home / backup / sync

Примітка. Відповідно до запропонованого раніше посібника з інсталяції WordPress, БД називається wordpress, користувач - wordpressuser, пароль - password. Замініть ці умовні дані своїми даними.

Створіть дамп даних.

mkdir / backup / mysql
mysqldump
/backup/mysql/initial.sql.gz

Ця команда створює SQL-файл initial.sql.gz. Щоб запланувати бекап БД, відкрийте cron і додайте такі настройки:

0 4 * * * / usr / bin / mysqldump -ppassword | / Bin / gzip> / backup / mysql / mysql - `date + \% m \. \% Y`.sql.gz

Щоб перемістити дамп на віддалений сервер, додайте в cron scp або rsync:

0 4 * * * / usr / bin / mysqldump -ppassword | / Bin / gzip> / backup / mysql / mysql-`date + \% m \. \% Y`.sql.gz;
/ Usr / bin / scp -i /root/.ssh/id_rsa_backup / backup / mysql / mysql-`date
+\% M \. \% Y`.sql.gz [email protected]: / home / backup /

Copyright © 2024