先创建一个脚本文件,比如叫mysqldump.sh,将下面的脚本复制进去,保存退出。
#设置mysql安装目录
export MYSQL_HOME=/usr/local/mysql
export PATH=$MYSQL_HOME/bin:$PATH
#进入备份文件目录
cd /home/mysql/dbbackup
Datetime=$(date +%Y-%m-%d_%H)
#读取要备份的数据库
exec 3</home/mysql/dbbackup/mysqldump.list
while read dbName <&3
do
echo $dbName
nice -n 15 mysqldump --opt -R -uroot "$dbName" > /home/mysql/dbbackup/"$dbName"_"$Datetime".sql
if [ "0" == "$?" ]
then
echo tar
nice -n 15 /bin/tar -zcvf "$dbName"_"$Datetime".sql.tar.gz"$dbName"_"$Datetime".sql > /dev/null 2>&1
fi
echo rm
nice -n 15 /bin/rm "$dbName"_"$Datetime".sql
done
nice -n 15 find . -mtime +15 -name "*.tar.gz" |xargsrm > /dev/null 2>&1
在创建一个存放数据库名信息的文件,比如我叫mysqldump.list,文件的内容为:
#数据库名称
cms
webtrn
learning
上面工作完成后,就开始设置定时任务
#编辑linux下的定时任务
crontab -e
#设定定时执行时间,编辑完成后 保存退出
0 3 * * * /home/mysql/dbbackup/mysqldump.sh >> /home/mysql/dbbackup/backup.log 2>&1
#查看设定好的定时任务
crontab -l
以上工作完成后,linux就会定时执行备份操作了。