#!/bin/sh
MYSQLUSER="user"
MYSQLPASS="password"
BACKUP_DIR=/backup_dir
DATE=`date +%Y%m%d`
MYSQL_COMMAND="/usr/local/bin/mysql -u$MYSQLUSER -p$MYSQLPASS"
BACKUP_COMMAND="/usr/local/bin/mysqldump -Q -u$MYSQLUSER -p$MYSQLPASS"
$MYSQL_COMMAND -e 'SHOW DATABASES' | sed 's/|//g' | grep -v 'Database' | grep -v 'information_schema' | while read DB_NAME; do
$BACKUP_COMMAND $DB_NAME | gzip > $BACKUP_DIR/$DB_NAME-$DATE.gz
done
find $BACKUP_DIR -ctime +5 | xargs rm -f
Юрий Беляков писал(а):Делаю бэкап MySQL по простому - скрипт по cron'у раз в сутки.
0 3 * * * root /usr/local/etc/backup/start_backup.sh
Андрей Тр. aka RH писал(а):Да, такой вариант приходит в голову первым .. но я не уверен, нормально ли это - таким образом сохранять БД "на лету", ведь там могут быть локи и прочая фигня .. по аналогии с бэкапом тома с открытыми на нём файлами. Можно, конечно, считать, что в 2 ч. ночи никто не пользуется этой базой .. и это нормально ?
Юрий Беляков писал(а):Добавить опции --opt или --lock-tables
Андрей Тр. aka RH писал(а):Спасибо за ответы, будем пробовать. А :Юрий Беляков писал(а):Добавить опции --opt или --lock-tables
это куда ? В BACKUP_COMMAND="/usr/local/bin/mysqldump -Q -u$MYSQLUSER -p$MYSQLPASS" ? это опции mysqldump ?
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1