学习笔记081——如何备份服务器中MySQL数据库数据?

方法

可以通过编写sh脚本 的方式,结合Linux中的crontab定时任务来实现定时备份数据的功能。

sh脚本如下:

sh 复制代码
#!/bin/bash
 
# 要备份的数据库
DB_NAME="wms"
# 数据库账号
DB_USER="root"
# 数据库密码
DB_PASSWORD="123456"
# 数据备份存放目录
BACKUP_DIR="/home/htl/backup"
mkdir -p $BACKUP_DIR
 
# 备份文件名
BACKUP_FILE="$BACKUP_DIR/$DB_NAME-$(date +%Y%m%d%H%M%S).sql"
 
# 执行数据库备份
mysqldump -u $DB_USER -p$DB_PASSWORD $DB_NAME > $BACKUP_FILE
 
# 压缩备份文件(可选)
gzip $BACKUP_FILE
 
# 删除旧的备份文件-保存近七天的(可选)
find $BACKUP_DIR -name "*.sql.gz" -type f -mtime +7 -exec rm -f {} \;

crontab定时任务中添加:

bash 复制代码
# 打开crontab配置文件
sudo crontab -e

# 插入
# 每天晚上1点执行一次  /opt 目录下的backup脚本
# 执行频率根据情况调整
0 1 * * * sh /opt/backup.sh

# 查看crontab配置文件
sudo crontab -l
相关推荐
茶猫_1 分钟前
C++学习记录-旧题新做-字符串压缩
c语言·c++·学习·算法·leetcode
Non importa7 分钟前
用滑动窗口代替暴力枚举:算法新手的第二道砍
java·数据结构·c++·学习·算法·leetcode·哈希算法
以孝治家行动16 分钟前
学孝道故事 传家国情怀——慈明学校以孝治家阳光家教中心开展线上学习
学习·以孝治家·正能量
laocooon52385788616 分钟前
C语言枚举知识详解与示例
java·c语言·数据库
全栈陈序员16 分钟前
【Python】基础语法入门(十八)——函数式编程初探:用 `map`、`filter`、`reduce` 和 `lambda` 写出更简洁的代码
开发语言·人工智能·python·学习
光通信学徒24 分钟前
爬youtube视频笔记
笔记
honortech37 分钟前
外部连接 redis-server 相关配置
数据库·redis·缓存
云计算小黄同学37 分钟前
k8s中的服务通过secret访问数据库的实际案例
数据库·阿里云·kubernetes
不会写程序的未来程序员37 分钟前
Redis 的内存回收机制详解
数据库·redis·缓存
一过菜只因1 小时前
使用Junit测试
服务器·数据库·junit