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

2022-11-21 20:03:53 浏览数 (1)

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

代码语言:javascript复制
[root@localhost ~]# mkdir mysqlbackup
[root@localhost ~]# cd mysqlbackup/
[root@localhost mysqlbackup]# vi backup.sh

脚本内容:

代码语言:javascript复制
#!/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 {} ;

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

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

测试:

代码语言:javascript复制
[root@localhost mysqlbackup]# chmod  x backup.sh
[root@localhost mysqlbackup]# ./backup.sh

0 人点赞