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天之前的所有备份文件