本文出自头条号老王谈运维 , 转载请说明出处 。在云计算的浪潮下 , 企业多将业务部署在云上 。对于数据库中的数据 , 直接使用云数据库自带的备份功能实现备份 , 操作简单 。但是云数据库备份数据的存储空间有限制 , 一旦超出存储量便自动关闭备份功能 , 运维人员往往也会忽略这个问题 , 如果这时遭遇系统故障 , 面临的就是数据丢失 。
文章插图
推荐一个运维工具——王教授 , 他可以帮助我们轻松解决这个“囧境” , 不仅可以随时了解云资产的使用情况 , 还可及时提醒我们发现的问题并给出建议(例如:出现云数据库未开启备份策略、云数据库备份策略发生变化等) , 帮助我们及时发现云资源使用中潜在的风险 。
那么 , 检测到云数据库未开启备份后 , 我们怎么办呢?
- 增加云数据库的磁盘容量恢复云数据库自带的策略
- 使用MySQL自带的备份工具+ crontab 的方式来实现备份
1、查看磁盘挂载信息(选一个容量合适的)
#df -h
文章插图
【Linux下如何实现MySQL数据库每天定时自动备份】
2、创建备份目录
为了方便 , 在/home保存备份文件;
cd /home/gamemkdir backupcd backup3、创建备份Shell脚本
vi bkDatabaseName.shPS:注意把以下命令中的DatabaseName换为实际的数据库名称;
输入/粘贴以下内容:
#!/bin/bashmysqldump -uusername -ppassword DatabaseName > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql对备份进行压缩:
#!/bin/bashmysqldump -uusername -ppassword DatabaseName | gzip > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz注意:
- 把username 替换为实际的用户名
- 把password 替换为实际的密码
- 把DatabaseName 替换为实际的数据库名
chmod u+x bkDatabaseName.sh添加可执行权限之后先执行一下 , 看看脚本有没有错误 , 能不能正常使用;
./bkDatabaseName.sh5、添加计划任务
1)检测或安装crontab
执行以下命令看是否安装有crontab
crontab如果错“command not found” , 则表明没安装;如果没安装 , 先安装
centos下使用yum命令安装计划任务程序crontab
使用rpm命令从CentOS系统盘安装计划任务程序crontab
2)添加计划任务
crontab -e输入以下内容并保存
1 0 * * * /home/backup/bkDatabaseName.sh意思是每天凌晨执行一次bkDatabaseName.sh 脚本
6、测试任务是否执行
执行几次“ls”命令看下是否有文件创建就知道了 。如果任务执行失败 , 看以下日志
# tail -f /var/log/cron输出类似如下
文章插图
网站崩溃找不到原因?平台搭建无从下手?热门技术不想落伍?想要变强找不到资料?
加入[IT拯救联盟] , 让大牛和同伴拯救你 , 带你装x带你飞 。定期干货分享、大牛专业解答、实用IT工具优选.....
推荐阅读
- Linux怎么克隆系统?备份系统跟Windows系统有区别吗?
- 电水壶里面的水垢怎么处理 电水壶里的水垢用什么能给它整下来
- 作为程序员,HTTP缓存这一块还是需要了解一下的
- 如何降低手工皂碱性 手工皂是碱性的吗
- 淘宝如何一件代发货 一件代发铺货到淘宝店铺怎么发货
- 喝茶太热 开聊点茶叶的冷知识降下温
- 客厅欧式装修窗帘颜色如何搭配
- 淘宝店铺分销怎么操作 如何做淘宝分销
- 去除老年斑的偏方,10个小偏方教你如何去除
- 老年人血压正常范围 如何控制血压