Приклади налаштування бекапа

Найчастіше при використанні віртуального і виділеного сервера потрібно налаштувати бекап даних.

Якщо на сервері використовується панель керування, наприклад VestaCP, ISPmanager і інші – в них є можливість налаштувати резервну копію файлів в інтерфейсі панелі. Якщо на сервері встановлено все вручну – в такому випадку бекап файлів можна так само налаштувати вручну.

Розберемо декілька прикладів.

Більшість власників сайту використовують бекап файлів для скасування будь-яких змін на сайтах або ж при перенесенні, і зберігають бекапи на тому ж сервері, де і розташований сайт. Для прикладу можемо використовувати даний скрипт:

#!/bin/bash
B_DATE=$(date +"%Y-%m-%d")
DIR="/var/www/site.com" 
tar -czf /backup/dump_site.com_$B_DATE.tar.gz $DIR

Даний приклад зробить архів файлів сайту, який розташований по шляху /var/www/site.com, і помістить архів в папку /backup.

Так само, нам буде потрібно створити дамп бази даних, зазвичай це команда:

mysqldump NAME_BASE -u USER -pPASSWORD > NAME_DUMP.sql

Якщо таких баз багато, можна використовувати скрипт для створення дампів всіх баз даних на сервері.
Перейдіть в папку де хочете щоб були збережені всі бекапи баз даних.
Створіть скрипт backup.sh:

nano backup.sh

В нього пропишіть код:

#!/bin/bash
USER=root
PASSWORD="ПАРОЛЬ" 
for i in `mysql -u $USER -p$PASSWORD -e'show databases;' | \
grep -v performance_schema | grep -v information_schema | grep -v mysql | \
grep -v Database`; do mysqldump -u $USER -p$PASSWORD $i > ./$i.sql;done

Де, ПАРОЛЬ — пароль root в mysql.
Зробіть скрипт виконуваним:

chmod +x backup.sh

І запустіть:

./backup.sh

Дочекайтесь завершення.

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

0 0 * * * /bin/bash /scripts/backup.sh

Де, /scripts/backup.sh – шлях до скрипту.
0 0 * * * – запуск скрипта кожен день опівночі.

Ви так само можете відправляти файли бекапа на інший сервер через утиліту scp:

scp /backup/backup.tar.gz USER@123.123.123.123:/home/user/backup

Де, /backup/backup.tar.gz – шлях до бекапіть який треба відправити,
USER@123.123.123.123 – користувач і IP сервера на який треба відправити бекап,
/home/user/backup – шлях на віддаленому сервері, куди треба відправити бекап.

Або ж так само за допомогою ftp:

curl --upload-file "/backup/backup.tar.gz" ftp://USER:PASSWORD@123.123.123.123/home/user/backup

Де, ftp://USER:PASSWORD@123.123.123.123/home/user/backup – користувач, пароль і шлях на віддаленому сервері, куди треба відправити бекап.

Якщо потрібно щоб файли резервних копій віддалялися, які інсують вже больше 30 днів, можна додати в скрипт команду:

find /backup/ -type f -mtime +30 -delete

Де, /backup/ – шлях до директорії де зберігаються бекапи,
+30 – термін зберігання файлів.

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

Goodhoster.NET
Додати коментар

  1. FoKko

    Спасибо

    Відповіcти
  2. Оbprlv

    Спасибо, ваш сайт очень полезный!

    Відповіcти