预期目标:
将数据库(MYSQL)导出到备份目录,并定时执行脚本,与后面讲到的异地备份服务一起使用
配置步骤:
创建数据库备份目录
mkdir -p /wakamizu/backup
创建数据库备份脚本
vim /wakamizu/shell/BACKUPSQL
#!/bin/bash
#备份目录
BAKSQLDIR="/wakamizu/backup/"
PATH=$(echo $PATH)
#自动删除一天前备份(可将mv方式更改成rm)
DELFILE(){
find $1 -mtime +1 -type f -exec mv {} /tmp \;
}
##备份数据库
MYSQLBAK(){
#数据库用户
SQLu='######'
#数据库密码
SQLp='######'
SQLDB="SQLDB-$(date +%F-%H-%M-%S)"
ARGS="--max_allowed_packet=64M -u"$SQLu" -p"$SQLp" --all-databases --routines --events"
mysqldump $ARGS >$1$SQLDB
}
##删除数据库文件
DELFILE $BAKSQLDIR
##执行数据库备份
MYSQLBAK $BAKSQLDIR
给脚本执行权限
chmod +x /wakamizu/shell/BACKUPSQL
设置定时任务
crontab -e
0 21 * * * /wakamizu/shell/BACKUPSQL
测试(备份文件夹已经导出数据库备份)
sh /wakamizu/shell/BACKUPSQL
