Shadow
linux自动备份mysql指定数据库
linux自动备份mysql指定数据库
大家在日常工作中都会遇到,需要自动备份某个数据库的数据。下面就是一个备份7天的脚本,超过7天自动删除旧的备份文件;废话不多说,需要新建一个shell脚本,这里我就命名为backSql.sh,根据自己的需要命名,我把脚本放在目录:/www/web/xxx_com/dbBack 下
脚本代码如下,注释都在shell脚本里写了:
#!/bin/bash
#备份的文件名称
fileName=`date +%Y%m%d%H%M%S`
#host地址
dbHost=127.0.0.1
#数据库用户 更改为自己的
dbUser=xxx
#数据库密码 更改为自己的
dbPass=xxx
#数据库名称 更改为自己的
dbName=db1
#数据库备份路径 根据自己的备份地址填写,没有的话可以先mkdir新建一个目录
savePath=/www/web/xxx_com/dbBack/datas
#mysql备份命令
/usr/local/mysql/bin/mysqldump -h$dbHost -u$dbUser -p$dbPass $dbName | gzip > $savePath/$fileName.sql.gz
#查询7天前的数据库备份文件,并删除
find $savePath -name "*.sql.gz" -mtime +7 -exec rm {} \;
添加定时器任务
添加完脚本后,需要添加linux定时自动任务,crontab
在ssh命令行输入:crontab -e
没有安装crontab 工具的请先安装,这里就不介绍怎么安装了,百度搜索很多。
输入定时备份代码:
#定期备份数据库文件,每天的 01:00 备份
00 01 * * * /www/web/xxx_com/dbBack/backSql.sh
Dcr163的博客
http://dcr163.cn/468.html(转载时请注明本文出处及文章链接)