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
相关推荐
上海合宙LuatOS15 小时前
LuatOS核心库API——【fatfs】支持FAT32文件系统
java·前端·网络·数据库·单片机·嵌入式硬件·物联网
认真的薛薛15 小时前
数据库-主从故障排查,gitd,延时同步
数据库·sql·mysql
dishugj15 小时前
【Oracle】理论知识
数据库·oracle
m0_5287490015 小时前
linux编程----目录流
java·前端·数据库
大尚来也15 小时前
Oracle索引扫描全解析:四大核心类型与性能优化实战指南
数据库
未名编程15 小时前
【干货】MySQL 8.0 物理迁移:电脑损坏后如何通过 Data 文件夹完美恢复数据库?
数据库·mysql
lydcljie15 小时前
mysql数据被误删的恢复方案
数据库·mysql
edisao15 小时前
第一章:L-704 的 0.00% 偏差
前端·数据库·人工智能
x***r15116 小时前
Xampp集成环境包安装步骤详解(附Apache、MySQL启动与本地网站搭建)
数据库·mysql·apache
大黄说说16 小时前
MySQL 查询优化三剑客:JOIN、子查询、UNION 的选型策略与性能调优实战
数据库