백업을 저장할 디렉터리 만들기
[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