#!/bin/bash
# Variables
CNF=/etc/mysql/debian.cnf
BACKUPDIR=/var/backups/mysql/
DATE=`date +%F`
OLDDAYS=7
# Main part
for DATABASE in `echo SHOW DATABASES | mysql --defaults-file=${CNF} --skip-column-names`;do
BACKUPNAME=${BACKUPDIR}${DATABASE}.sql.${DATE}
BZBACKUPNAME=${BACKUPNAME}.bz2
echo Dumping ${DATABASE} into ${BZBACKUPNAME}
mysqldump --defaults-file=${CNF} ${DATABASE} > ${BACKUPNAME}; bzip2 -f ${BACKUPNAME}
done
# Deleting old backups
find ${BACKUPDIR} -mtime +${OLDDAYS} -delete
Дампит и сжимает базы данных.
Можно (и нужно) добавить его в крон, например:
00 05 * * * root /usr/local/sbin/mysqlbackup.sh
P.S. Ах да, это юбилейный, сотый пост в моём бложике:)
1 комментарий:
http://automysqlbackup.sf.net
=)
Отличная вещь с ротацией бэкапов. Использую везде, где надо бэкапить mysql.
Отправить комментарий