#!/bin/bash
#完成数据库的备份
#备份的路径
BACKUP=/data/backup/db
#当前的时间作为文件名
DATETIME=$(date +%Y_%m_%d_%H%M%S)
#实际开发中可以输出变量来进行调试
echo "----------开始备份----------------"
echo "备份的路径是$BACKUP/$DATETIME.tar.gz"
#主机名
DB_HOST=127.0.0.1
#db用户名
DB_USR=root
#db密码
DB_PWD=1121
#数据库名
DATABASE=BACKUPTEST
#判断是否有该路径如果有则直接执行,如果没有则先创建
#[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"
if [ ! -d "$BACKUP/$DATETIME" ];then
mkdir -p "$BACKUP/$DATETIME"
fi
#备份数据库的名字
#执行mysql备份的指令
echo "开始备份数据库"
mysqldump -u${DB_USR} -p${DB_PWD} --host=$HOST $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz
#打包本份文件
cd $BACKUP
tar -zcvf $DATETIME.tar.gz $DATETIME
#删除临时文件
rm -rf $BACKUP/$DATETIME
#删除十天前的备份文件
find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "备份完成"
复制上面的代码之后我们给xxx.sh文件授于可执行权限
最后在
crontab文件中设置该脚本执行的时间就可以了!
关于crontab文件的具体用法参照这个帖子https://blog.csdn.net/weixin_41594007/article/details/80636390