MySQL数据库每日备份并定时清理脚本

创建一个用于存放备份的目录

[root@localhost ~]# mkdir mysqlbackup
[root@localhost ~]# cd mysqlbackup/
[root@localhost mysqlbackup]# vi backup.sh

脚本内容:

#!/bin/bash
#存放目录
BackupDir=/root/mysqlbackup
#数据库库名
DataBaseName=shell_test
#日期命名
DateTag=`date +%Y%m%d`
#sql脚本名字
sqltag=$DataBaseName'_'$DateTag'.'sql
#压缩文件名字
tartag=$sqltag'.'tar'.'gz
#备份
mysqldump -h localhost -uroot -p123.Com! --databases $DataBaseName > $BackupDir/$sqltag 
#进行压缩并删除原文件
cd $BackupDir
tar -czf  $tartag $sqltag
rm -rf $sqltag
#定时清除文件,以访长期堆积占用磁盘空间(删除5天以前带有tar.gz文件)
find $BackupDir -mtime +5 -name '*.tar.gz' -exec rm -rf {
    
    } \;

每日自动备份【添加计划性任务】

[root@localhost mysqlbackup]# crontab -e
30 6 * * * /bin/bash /root/mysqlbackup/backup.sh >> /dev/null 2>&1
#每天早上6:30自动执行脚本进行数据库备份

测试:

[root@localhost mysqlbackup]# chmod +x backup.sh
[root@localhost mysqlbackup]# ./backup.sh

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46152207/article/details/113877041