数据库备份
# !/bin/bash
# 定义属性
MYSQL_USER="root"
MYSQL_PASSWORD="xxx"
# 名称:mysqlback.sh
# 本地存放备份数据库目录
backupdir=/data/powerhealth/softwore/mysqlback
# 如果文件夹不存在,创建文件夹
if [ ! -d $backupdir ]; then
mkdir -p $backupdir
echo -e "备份目录 $backupdir 创建成功。"
else
echo "备份目录 $backupdir 已经存在。"
fi
# 备份文件后缀时间
time="$(date +%Y%m%d_%H%M%S)"
echo "开始备份数据库..."
# 注意数据库备份密码 设置在/etc/my.cnf中
# 备份所有数据库到本地(不压缩)
# echo '/data/mysql8/bin/mysqldump --opt --all-databases > $backupdir/all_$time.sql'
# 压缩
#/data/mysql8/bin/mysqldump --opt --all-databases | gzip > $backupdir/all_$time.sql.gz
# 备份单个数据库(不压缩)
/usr/bin/mysqldump -uxx -pxx databases > $backupdir/databases_$time.sql
echo "备份数据完成。"
# 只保留7天的备份文件
find $backupdir -name "databases_*.sql" -type f -mtime +7 -exec rm -rf {} \; > /dev/null 2>&1
echo "删除备份成功。"
编辑crontab 路径 /etc 每天0点执行
0 0 * * * /x/mysqlback.sh
service crond reload