Loading...
+7 (926)878-29-28

Бэкап MYSQL и файлов ubuntu 9.10

Для создания бэкапа файлов я использую Back In Time. Хороший дистрибутив и на русском языке
Ставиться из репозитария

А вот для бэкапа баз mysql automysqlbackup
1. sudo su
2. aptitude install automysqlbackup
3. vi /etc/default/automysqlbackup

Все необходимые переменные для настройки работы, прописаны в самом скрипте. Итак, настроим автоматическое резервное копирование.

USERNAME=dbadmin
Имя пользователя, для подключения к MySQL серверу.

PASSWORD=dbadminpass
Пароль пользователя.

DBHOST=localhost
Имя сервера. Можно использовать как доменное имя, так и IP адрес.

DBNAMES=`find /var/lib/mysql -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f5 | grep -v ^mysql$ | tr \r\n , `

Список баз данных, для которых необходимо создавать резервные копии. Перечисляются через пробел. Если пробел присутствует в имени базы данных, здесь его необходимо прописать, заменив пробел символом %. Для этой переменной можно использовать ключевое слово All, для резервного копирования всех баз данных, данного хоста. При установке значения all, будут создаваться резервные копии, всех имеющихся и создаваемых баз данных, без изменения настроек данного скрипта. То есть, если в процессе работы, вы создадите еще несколько баз данных, они автоматически будут включены в резервное копирование. В данном случае, мы будем делать резервную копию всех баз, находящихся в рамках localhost.

BACKUPDIR=»/backup/db»
Директория, где будут храниться резервные копии баз данных

MAILCONTENT=»log»
Что отправлять по почте. Имеет следующие возможные значения: log — отправлять только отчет о проделанной работе; files — отправлять отчет и файлы резервных копий в аттаче письма; stdout — при запуске вручную, выводить отчет на экран; quiet — отправлять отчет только в случае возникновения ошибок;

MAXATTSIZE=»4000″
Максимальный размер аттача в письме, высылаемом скриптом, в килобайтах

MAILADDR=»почтовый@адрес»
Один или более, через пробел, адрес электронной почты.

MDBNAMES=»mysql $DBNAMES»
Базы данных для ежемесячного резервного копирования. Как видите сюда добавлена системная база данных mysql в которой хранятся, например, имена и пароли пользователей, плюс все базы данных, перечисленные выше, в переменной DBNAMES.

DBEXCLUDE=»»
Если переменная DBNAMES, установлена в значение «all», с помощью данной переменной, можно исключить необходимые базы из резервного копирования.

CREATE_DATABASE=yes
Добавляет в дамп соответствующий оператор. При восстановлении из резервной копии, создаются базы данных с исходными именами. Если установить значение, «no», при восстановлении, нужно будет вручную указать имя базы данных, в которую следует развернуть резервную копию. Не используется при SEPDIR=no

SEPDIR=yes
Использовать раздельные директории и файлы для каждой базы данных. Если установить значение, no, все базы будут сохранены в один большой дамп, что довольно удобно, например, при необходимости восстановить весь сервер. В нашем случае, каждая база будет сохранена в отдельный дамп, и восстанавливать нужно будет каждую в отдельности.

DOWEEKLY=6
В какой день недели, делать еженедельную резервную копию. 1 — Понедельник.

COMP=gzip
Тип сжатия. Возможные варианты: gzip и bzip2. bzip2, сжимает лучше, но при работе потребляет больше ресурсов.

COMMCOMP=no
Сжимать трафик между клиентом и сервером. Полезно при резервном копировании с удаленного сервера.

LATEST=yes
Сохранять дополнительные копии последнего дампа в отдельную директорию.

MAX_ALLOWED_PACKET=
Если в базе данных, используются большие поля типа BLOB, можно установить необходимый размер пакета.

SOCKET=/tmp/mysql.sock
Путь до файла сокета, если используется.

#PREBACKUP=»/etc/mysql-backup-pre»
Выполнять определенные действия перед началом резервного копирования. Например выдавать в консоль сообщение типа «Starting backup».

#POSTBACKUP=»/etc/mysql-backup-post»
То-же, что и предыдущая переменная, только выполнять действие, после завершения резервного копирования.

Как видите все очень просто. Для проверки правильности настроек, можете установить переменную MAILCONTENT=»stdout» и запустить скрипт вручную, из командной строки. После завершения резервного копирования, будет выведен отчет о проделанных действиях. Теперь можно поместить запуск automysqlbackup.sh в расписание демона cron, файл /etc/crontab, следующей строкой:

0 3 * * * root /usr/local/scripts/automysqlbackup.sh

При такой настройке, automysqlbackup.sh, будет запускаться ежедневно в 3 часа ночи.

Восстановление из резервной копии, производится как обычно, с использованием утилиты mysql, естественно предварительно распаковав файл дампа из архива. Например:

vds-admin$/backup/db/daily/drupal/ gunzip drupal_20090811_11h54m.Tuesday.sql.gz

Получим файл резервной копии drupal_20090811_11h54m.Tuesday.sql. Теперь восстанавливаем:

vds-admin$/ mysql -u dbadmin -pdbadminpass database < /backup/db/daily/drupal/drupal_20090811_11h54m.tuesday.sql


Отзывы



Добавление комментариев закрыто.
Оформить заявку
Я не робот

Мгновенная помощь

TeamViewer QuickSupport