Как я уже говорил — «резервное копирование всему голова», хочу поделиться с вами, ребятушки, очень полезным скриптом, которым пользуюсь очень давно. Скрипт этот предназначен для автоматизации резервного копирования баз данных СУБД Mysql, работает на основе mysqldump.
Офстраница на sourceforge , собственно тут его и можно скачать))
Приступим к настройке скрипта (думаю со скачиванием проблем не возникло??))), для начала я его переименовал в что-то с более нормальным именем:
# mv automysqlbackup-2.5.1-01.sh automysqlbackup.sh
# ee automysqlbackup.sh
собственно по настройкам:
имя пользователя для подключения к Mysql серверу
USERNAME=dbusername
пароль для подключения к Mysql серверу
PASSWORD=dbpassword
имя сервера БД, можно указать айпишник
DBHOST=localhost
имена базы данных через пробел, или all для всех
DBNAMES="all"
директория для хранения резервных копий
BACKUPDIR="/usr/backup"
что будет отправляться на мыло
MAILCONTENT="log"
варианты:
log — только протокол работы;
files — протокл и файлы sql;
stdout — при запуске вручную, выводить отчет на экран;
quiet — отправлять протокол только при возникновении ошибок.
максимальный размер вложения в письме
MAXATTSIZE="4000"
кому отправлять письмо
MAILADDR="[email protected]"
если DBNAMES стоит all, то здесь можно указать базы данных которые не нужно бекапить
DBEXCLUDE=""
добавлять в sql файлы баз данных CREATE DATABASE
CREATE_DATABASE=yes
для каждой базы данных будет создана своя директория, если стои ноу, то будет создан один большой файл дампа, что не очень удобно
SEPDIR=yes
в какой день недели делать недельную копию (1 — понедельник)
DOWEEKLY=6
метот сжатия, gzip или bzip2 (любит ресурсы, но и сжимает лучше)
COMP=gzip
сохранять дополнительные копии последнего дампа в отдельную директорию
LATEST=yes
путь к файлу сокета мускула, если используется
SOCKET=/tmp/mysql.sock
действия перед началом копирования
#PREBACKUP="/etc/mysql-backup-pre"
соответсвенно после 🙂
#POSTBACKUP="/etc/mysql-backup-post"
С настройками вроде бы все, теперь засунем это все дело в крон:
# crontab -e
например так:
0 1 * * * /usr/local/scripts/automysqlbackup.sh
т.е. каждый день в час ночи будет произведен бекап.