惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Recent Announcements
Recent Announcements
雷峰网
雷峰网
The GitHub Blog
The GitHub Blog
罗磊的独立博客
月光博客
月光博客
J
Java Code Geeks
A
About on SuperTechFans
Microsoft Security Blog
Microsoft Security Blog
D
Docker
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
U
Unit 42
C
Check Point Blog
Martin Fowler
Martin Fowler
有赞技术团队
有赞技术团队
博客园 - 叶小钗
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
酷 壳 – CoolShell
酷 壳 – CoolShell
Blog — PlanetScale
Blog — PlanetScale
大猫的无限游戏
大猫的无限游戏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog

博客园 - 正怒月神

windows 安装 openclaw docker-compose 启动 elk maven 打包时优先选择本地仓库 nginx 部署2个相同的vue minio 设置IP MapStruct-plus cannot find converter from jenkins pipeline 发布 jar并运行 MapperStruct 嵌套模型中 List<> 转 List<String> Easy es问题总结 Logstash docker发布 Docker 无法拉取 springmvc 多事务提交和回滚 springMvc 配置 UReport2 java 通过 microsoft graph 调用outlook(三) JPA Example 默认 join jackson.dataformat.xml 反序列化 对象中包含泛型 OR-TOOL 背包算法 解决JIRA、Confluence自动注销登录的问题 java 通过 microsoft graph 调用outlook(二)
linux mysql 备份
正怒月神 · 2025-01-14 · via 博客园 - 正怒月神

直接上代码

一,安装cron

1 安装cron
sudo yum install cronie
 
2 启动cron
sudo systemctl start crond
 
3 设置开机启动
sudo systemctl enable crond
 
4 查看任务
crontab -l
没有任务则显示:no crontab for root
 

二,备份脚本

#!/bin/bash
# 备份文件要保存的目录
basepath='/data1/mysql/bak/'
if [ ! -d "$basepath" ]; then
mkdir -p "$basepath"
fi
# 备份数据库生成SQL文件
mysqldump -uroot -p'pwd' database1 > $basepath$(date +%Y%m%d)_database1.sql
mysqldump -uroot -p'pwd' database2 > $basepath$(date +%Y%m%d)_database2.sql
mysqldump -uroot -p'pwd' database3 > $basepath$(date +%Y%m%d)_database3.sql
 
 
cd $basepath
# 将生成的SQL文件压缩
tar zPcf $(date +%Y%m%d)_database1.tar.gz $(date +%Y%m%d)_database1.sql
tar zPcf $(date +%Y%m%d)_database2.tar.gz $(date +%Y%m%d)_database2.sql
tar zPcf $(date +%Y%m%d)_database3.tar.gz $(date +%Y%m%d)_database3.sql
 
 
# 删除7天之前的备份数据
find $basepath -mtime +7 -name "*.tar.gz" -exec rm -rf {} \;
# 删除生成的SQL文件
rm -rf $basepath/*.sql

在当前路径下,执行:

./mysqlbak.sh 

显示这个代表成功:mysqldump: [Warning] Using a password on the command line interface can be insecure.

如果报错:-bash: ./mysqlbak.sh: cannot execute: required file not found
 
1 设置权限
chmod -R 777 /data1
 
2 查看文本格式
cat -A mysqlbak.sh
如果发现:^M$ 字符说明是windows格式
 
3 设置Linux格式
sed -i "s/\r//" mysqlbak.sh
 
4 再次启动
./mysqlbak.sh

三,设置cron任务

1 设置cron任务(vim编辑)
crontab -e
 
2 设置cron参数(每7天早上2点执行)
0 2 */7 * * sh /data1/mysqlbak.sh
3 保存退出后显示
crontab: installing new crontab
 
4 重启cron
systemctl restart crond