视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
UbuntuServer下MySQL数据库备份脚本
2020-11-09 11:11:55 责编:小采
文档

我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_1

说明:

我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份。

实现步骤:

1、创建保存备份文件的目录:/home/mysql_data

cd /home #进入目录

mkdir mysql_data #创建目录

2、创建备份脚本文件:/home/mysql_data/mysql_databak.sh

cd /home/mysql_data #进入目录

touch mysql_databak.sh #创建文件

nano mysql_databak.sh #编辑文件,输入以下内容

#######################################################################################################

#!/bin/sh

DUMP=/usr/bin/mysqldump #mysqldump备份程序执行路径

OUT_DIR=/home/mysql_data #备份文件存放路径

LINUX_USER=root #系统用户名

DB_NAME=pw85 #要备份的数据库名字

DB_USER=root #数据库账号 注意:非root用户要用备份参数 --skip-lock-tables,,否则可能会报错

DB_PASS=123456 #数据库密码

DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份

cd $OUT_DIR #进入备份存放目录

DATE=`date +%Y_%m_%d` #获取当前系统时间

OUT_SQL="$DATE.sql" #备份数据库的文件名

TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最终保存的数据库备份文件名

$DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #备份

tar -czf $TAR_SQL ./$OUT_SQL #压缩为.tar.gz格式

rm $OUT_SQL #删除.sql格式的备份文件

chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改备份数据库文件的所有者

find $OUT_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} \; #删除7天前的备份文件(注意:{} \;中间有空格)

#######################################################################################################

ctrl+o #保存配置

ctrl+x #退出

3、修改文件属性,使其可执行

chmod +x /home/mysql_data/mysql_databak.sh

4、修改/etc/crontab

nano /etc/crontab #编辑文件,在下面添加

45 22 * * * root /home/mysql_data/mysql_databak.sh #表示每天22点45分执行备份

ctrl+o #保存配置

ctrl+x #退出

5、重新启动crond使设置生效

service cron stop #停止

service cron start #启动

/etc/init.d/cron restart #重启

chkconfig cron on #设为开机启动

每天你在/home/mysql_data目录下面可以看到类似mysqldata_bak_2012_04_11.tar.gz这样的压缩文件

如果需要恢复文件的时候,只需要把这个文件解压:tar -zxvf mysqldata_bak_2012_04_11.tar.gz

然后导入到数据库中即可。

至此,Ubuntu Server下MySql数据库备份脚本完成。

下载本文
显示全文
专题