梦想之家

centos7定时备份mysql数据库,并且删除旧的备份文件


新建一个dbBack.sh文件,之间上代码:

#!/bin/bash
#备份的文件名称,以日期时间作为文件名
fileName=`date +%Y%m%d%H%M%S`
#host地址
dbHost=127.0.0.1
#数据库用户,这里换成自己的
dbUser=root
#数据库密码,这里换成自己的
dbPass=root
#数据库名称
dbName=www_dcr163_cn
#数据库备份路径
savePath=/www/www_dcr163_cn/dbBack/datas

#mysql备份命令,并且压缩,这里的mysqldump命令替换成自己服务器的位置
/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 {} \;

文件保存后,新建crontab定时任务:

crontab -e

#每天凌晨30分备份www_dcr163_cn数据库,这里的sh文件,替换成自己的就行
30 0 * * * sh /www/www_dcr163_cn/dbBack/dbBack.sh

没有安装crontab 的,也可以直接: yum install crontab 安装后再添加定时任务
image.png
最后效果如上

相关推荐

您此刻的心情: