创建一个用于存放备份的目录
代码语言: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