linux下MySQL数据库的定时备份与定时删除

我这里用到系统自带的定时工具crontab,先来说一说MySQL的数据库全量备份。

1.首先传创建一个文件夹路径:/services/download_soft_v/

然后 vim进入一个脚本文件:vim backupdb.sh

编辑内容:

#!/bin/sh
db_user="root"                              -----------用于备份的用户
db_passwd="Db2017******"       ---------------备份用户的密码
db_name="xuhuicms"                      ----------需要备份的数据库名
name=xuhuicms"$(date +"%Y%m%d%H%M%S")"         ---------备份后的文件命名规则+时间
/services/current_apps/mysql-5.7.23-linux-glibc2.12-x86_64/bin/mysqldump -u$db_user -p$db_passwd $db_name   >>/services/download_soft_v/backupdb/xuhuicms/$name.sql                  -----------------------备份命令及保存在/services/download_soft_v/backupdb/路径下

这个文件保存后还要添加权限:chmod 755 /services/download_soft_v/backupdb.sh

2.接下来就可以用定时计划任务执行脚本了:

00 12 * * * /bin/sh /services/download_soft_v/backupdb.sh      -------每12个小时备份一次

3.但是备份文件一直在每天备份,难道还需要人工去删除以前的备份数据库吗?显然不切实际,那么你还要执行一个定时删除以前的数据库文件:

01 01 * * * find /services/download_soft_v/backupdb/xuhuicms -mtime +60 -name "*.sql" -exec rm -Rf {} ;       --------删除60天之前的所有备份文件