linux小案例 定时备份数据库
#!/bin/bash
#完成数据库的定时备份
#备份的路径
BACKUP=/data/backup/db
DATETIME=$(date +%F%H%M%S)
#echo $DATETIME
#开始备份
echo "========开始备份========="
echo "========备份的路径为:$BACKUP/$DATETIME.tar.gz"
#HOST=localhost
HOST=127.0.0.1
DB_USER=root
DB_PASSWORD=
#需要备份数据的名称
DATABASE=testzyg
#查看当前文件价是否存在, 如果不存在就创建一个多级的文件夹( -p )
[ ! -d "$BACKUP/$DATETIME" ] && mkdir -p "$BACKUP/$DATETIME"
#登陆数据库输入账号密码 和对应要备份的数据库 通过管道符把得到的内容压缩
mysqldump -u $DB_USER --host=$HOST $DATABASE | gzip > $BACKUP/$DATETIME/$DATETIME.sql.gz
#进入到备份文件目录下 开始打包
cd $BACKUP
#对文件进行 tar 包压缩
tar -zcvf $DATETIME.tar.gz $DATETIME
#删除原文件 因为已经有打包的文件
rm -rf $BACKUP/$DATETIME
#查找10天前的文件 如果存在删掉
find $BACKUP -mtime +10 -name "*.tar.gz" -exec rm -rf {} \;
echo "==========备份成功========="