文档介绍:我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/USER/mysql_data里面,并且保存为 (2012_04_11是指备份执行时当天的日期),最后只保留最近7天的备份。
实现步骤:
1、创建保存备份文件的目录:/home/mysql_data
cd /home #进入目录
mkdir mysql_data #创建目录
2、创建备份脚本文件:/home/mysql_data/
cd /home/mysql_data #进入目录
touch #创建文件
vi #编辑文件,输入以下内容
###################################################################################################
#!/bin/sh
DUMP=/usr/bin/mysqldump #mysqldump备份程序执行路径
OUT_DIR=/home/mysql_data #备份文件存放路径
LINUX_USER=root #系统用户名
DB_NAME1=test1
DB_NAME2=test2 #要备份的数据库名字
DB_USER=root #数据库账号注意:非root用户要用备份参数--skip-lock-tables,否则可能会报错
DB_PASS=123456 #数据库密码
DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份
cd $OUT_DIR #进入备份存放目录
DATE=$(date +%y%m%d%H%M) #获取当前系统时间
OUT_SQL="$" #备份数据库的文件名
TAR_SQL="mysqldata_bak_$" #最终保存的数据库备份文件名
$DUMP -u$DB_USER -p$DB_PASS
--database $DB_NAME1 $DB_NAME2 #多个数据库备份格式
--default-character-set=utf8
--opt -Q -R
--skip-lock-table>$OUT_SQL
tar -czf $TAR_SQL ./$OUT_SQL #备份
tar -czf $TAR_SQL ./$OUT_SQL #
rm $OUT_SQL #
chown $LINUX_USER $OUT_DIR/$TAR_SQL #更改备份数据库文件的所有者
find $OUT_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件(注意:{} \;中间有空格)
eject #卸载挂载内容
sudo mount -t cifs
-o username=mysql,password=654321,#mysq