Linux环境定时备份mysql数据库
1.编写建立备份文件夹
随便切换到任意目录,这里我选着home目录下做备份
cd home
mkdir backup
2.切换到新建的文件夹,home\backup,创建备份脚本
vi dcm.sh (这里没有backup目录下没有dcm.sh脚本的话会则自动创建dcm.sh脚本)
打开dcm.sh后按a键进入insert编辑模式,复制一下内容
#!/bin/bash
mysqldump -uroot -proot dcm > /home/backup/dcm_$(date +%Y%m%d_%H%M%S).sql
#!/bin/bash
mysqldump -uroot -proot dcm | gzip > /home/backup/dcm_$(date +%Y%m%d_%H%M%S).sql.gz
上面第一行是备份数据库,第二行是压缩备份的数据库 ,复制完后,按Esc,然后输入英文冒号 : 再输入wq并回车保存即可,
这里编写完成脚本后可以先执行脚本,看脚本是否可成功执行 ,切换的home\backup目录下执行 sh dcm.sh命令,看是否能正常备份,
如果出现命令不可执行,/bin/bash^M: bad interpreter: No such file or directory
通过查阅资料得知,shell脚本格式必须是unix才行,但我这个脚本是在windows上编写完成传到Linux服务器上的,所以一执行就报错:
cat -A filename,如果输出结果中行末尾是^M$,则是dos格式,如果行末尾只是$,则是unix格式。
需要修改编码
vim filename,编辑文件,执行“: set ff=unix”,将文件设置为unix格式,然后执行“:wq”,保存退出。
3.编写crontab 定时任务
编写定时任务前,请先确保crontab已安装,若没有安装,请自行百度解决
crontab -e 进入编写任务执行脚本,我的脚本是每天凌晨00点05分执行,如下
05 00 * * * sh /home/backup/dcm.sh
crontab命令详情可参考https://www.cnblogs.com/xiaoyaojinzhazhadehangcheng/p/11611248.html
编写完成定时任务后记得检查定时任务crontab是否是启动状态,否则定时任务会没有生效哦
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具