Linux系统定时备份mysql数据库

1、创建shell脚本mysql_db_backup并赋予执行权限

powershell 复制代码
#!/bin/bash
#备份目录
BACKUP=/data/backup/db
#当前时间
DATETIME=$(date +%Y-%m-%d_%H%M%S)
echo $DATETIME
#数据库地址
HOST=localhost
#数据库用户名
DB_USER=root
#数据库密码
DB_PW=pwd@123
#备份的数据库名
DATABASE=ApolloPortalDB

#创建备份目录,如果不存在,就创建
[ ! -d "${BACKUP}/${DATETIME}" ] && mkdir -p "${BACKUP}/${DATETIME}"

#备份数据库
mysqldump -u${DB_USER} -p${DB_PW} --host=${HOST} -q -R --databases ${DATABASE} | gzip >${BACKUP}/${DATETIME}/$DATETIME.sql.gz

#将文件处理为tar.gz
cd ${BACKUP}
tar -zcvf $DATETIME.tar.gz $DATETIME

#删除对应的备份目录
rm -rf ${BACKUP}/${DATETIME}

#删除10天前的备份文件
find ${BACKUP} -atime +10 -name "*.tar.gz" -exec rm {} \;

echo "备份数据库${DATABASE}成功~"

2、将脚本添加到crontad中:

powershell 复制代码
30 2 * * * /usr/sbin/mysql_db_backup.sh
相关推荐
山岚的运维笔记3 分钟前
SQL Server笔记 -- 第85章:查询提示
数据库·笔记·sql·microsoft·sqlserver
chilavert3189 分钟前
技术演进中的开发沉思-371:final 关键字(中)
java·前端·数据库
tryCbest25 分钟前
SQL Server数据库
数据库·sql server
_codemonster1 小时前
PreparedStatement 和 Statement的区别
数据库·oracle
恒云客1 小时前
python uv debug launch.json
数据库·python·json
愈努力俞幸运2 小时前
第5章数据库,实体关系图,ER图
数据库·oracle
锥栗3 小时前
【其他】基于Trae的大模型智能应用开发
android·java·数据库
qq_353737543 小时前
安全跳转页(用于网站内链,优化SEO)—炫酷特效黑客风格版
数据库·安全
yangyanping201083 小时前
微服务设计之带过期时间的积分系统
数据库
I'mAlex4 小时前
金仓数据库平替MongoDB实操解析:多模融合赋能企业文档数据管理国产化升级
数据库·mongodb·kingbasees·金仓数据库