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
相关推荐
行者-全栈开发几秒前
国产数据库发展图谱:技术路线与市场竞争格局
数据库·系统架构·集群部署·信创适配·国产化数据库·技术路线
杨云龙UP2 分钟前
Oracle 19c RAC多节点运行状态最简排查指南_20260316
linux·运维·服务器·数据库·sql·oracle
qq_404265834 分钟前
Django全栈开发入门:构建一个博客系统
jvm·数据库·python
独自破碎E13 分钟前
MySQL的三层B+树能存多少数据?
数据库·b树·mysql
逆境不可逃14 分钟前
【从零入门23种设计模式18】行为型之备忘录模式
服务器·数据库·设计模式·oracle·职场和发展·迭代器模式·备忘录模式
顶点多余18 分钟前
事务(数据库使用者角度的术语)
数据库·mysql
秃头摸鱼侠22 分钟前
OpenClaw 团队级落地手册:规范、权限、安全、CI/CD 一体化实践
数据库·安全·ci/cd·ai
yzx99101327 分钟前
Ollama 完全使用指南:从零开始在本地部署大模型
数据库·mysql·github
pupudawang33 分钟前
SQL-触发器(trigger)的详解以及代码演示
服务器·数据库·sql
IT研究所1 小时前
从工单到智能分析:AIGC运维助手应用价值
大数据·运维·数据库·人工智能·科技·低代码·自动化