下面是它的介绍.
mysqlhotcopy是一个perl脚本,最初由tim bunce编写并提供。它使用lock tables、flush tables和cp或scp来快速备份数据库。它是备份数据库或单个表的最快的途径,但它只能运行在数据库目录所在的机器上。mysqlhotcopy只用于备份myisam。它运行在unix和netware中
使用方法见下面的脚本.加入crotab中吧.
#!/bin/sh
# name:mysqlbackup.sh
# ps:mysql database backup,use mysqlhotcopy script.
# last modify:2008-06-12
# 定义变量,请根据具体情况修改
# 定义脚本所在目录
scriptsdir=`pwd`
# 数据库的数据目录
datadir=/var/lib/mysql
# 数据备份目录
tmpbackupdir=/tmp/mysqlblackup
backupdir=/backup/mysql
# 用来备份数据库的用户名和密码
mysqluser=root
mysqlpwd='you password'
# 如果临时备份目录存在,清空它,如果不存在则创建它
if [[ -e $tmpbackupdir ]]; then
rm -rf $tmpbackupdir/*
else
mkdir $tmpbackupdir
fi
# 如果备份目录不存在则创建它
if [[ ! -e $backupdir ]];then
mkdir $backupdir
fi
# 得到数据库备份列表,在此可以过滤不想备份的数据库
for databases in `find $datadir -type d | \
sed -e s/\/var\/lib\/mysql\/// | \
sed -e s/test//`; do
if [[ $databases == ]]; then
continue
else
# 备份数据库
/usr/bin/mysqlhotcopy --user=$mysqluser --password=$mysqlpwd -q $databases $tmpbackupdir
datetime=`date +%y.%m.%d %h:%m:%s`
echo $datetime database:$databases backup success! >>mysqlbackup.log
fi
done
# 压缩备份文件
date=`date -i`
cd $tmpbackupdir
tar czf $backupdir/mysql-$date.tar.gz ./
#end完成
加入到crontab中设置每周5运行
0 0 * * 5 /backup/blackup.sh
注意:恢复数据库到备份时的状态
