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
相关推荐
qq_3729069314 小时前
golang如何在Gin中实现路由分组_golang Gin路由分组实现方法
jvm·数据库·python
观无14 小时前
FastAPI + SQLite 原生无主键表 完整增删改查
数据库·sqlite·fastapi
qq_3422958214 小时前
如何备份大量小表组成的数据库_并行导出与多文件并发写入.txt
jvm·数据库·python
justjinji14 小时前
MySQL存储过程中如何防止SQL注入_使用参数化查询规范
jvm·数据库·python
qq_2069013914 小时前
mysql索引排序规则设置方法_mysqlCollation对索引影响
jvm·数据库·python
HHHHH1010HHHHH14 小时前
如何快速重置SQL表中的自增ID_使用TRUNCATE与重置命令
jvm·数据库·python
m0_7349497914 小时前
html怎么转konva舞台_Konva如何在HTML中创建2D绘图舞台
jvm·数据库·python
m0_7164300714 小时前
如何在非受控输入中实时显示值(不依赖状态更新)
jvm·数据库·python
2201_7610405914 小时前
如何统计SQL分组汇总数据_详解GROUP BY与HAVING用法
jvm·数据库·python