Linux下如何实现MySQL数据库每天定时自动备份

发表于:2019-7-26 09:56

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:老王    来源:老王谈运维

  在云计算的浪潮下,企业多将业务部署在云上。对于数据库中的数据,直接使用云数据库自带的备份功能实现备份,操作简单。但是云数据库备份数据的存储空间有限制,一旦超出存储量便自动关闭备份功能,运维人员往往也会忽略这个问题,如果这时遭遇系统故障,面临的就是数据丢失。
  推荐一个运维工具——王教授,他可以帮助我们轻松解决这个“囧境”,不仅可以随时了解云资产的使用情况,还可及时提醒我们发现的问题并给出建议(例如:出现云数据库未开启备份策略、云数据库备份策略发生变化等),帮助我们及时发现云资源使用中潜在的风险。
  那么,检测到云数据库未开启备份后,我们怎么办呢?
  增加云数据库的磁盘容量恢复云数据库自带的策略
  使用MySQL自带的备份工具+ crontab 的方式来实现备份
  下面是小编总结在Linux系统下的MySQL数据库每天定时自动备份的配置步骤,希望对大家有帮助~
  1、查看磁盘挂载信息(选一个容量合适的)
 #df -h
 
  2、创建备份目录
  为了方便,在/home保存备份文件;
   cd /home/game
  mkdir backup
  cd backup
  3、创建备份Shell脚本
 vi bkDatabaseName.sh
  PS:注意把以下命令中的DatabaseName换为实际的数据库名称;
  输入/粘贴以下内容:
   #!/bin/bash
  mysqldump -uusername -ppassword DatabaseName > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
   对备份进行压缩:
   #!/bin/bash
  mysqldump -uusername -ppassword DatabaseName | gzip > /home/dbback/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
  注意:
  把username 替换为实际的用户名
  把password 替换为实际的密码
  把DatabaseName 替换为实际的数据库名
  4、添加可执行权限
 chmod u+x bkDatabaseName.sh
  添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;
 ./bkDatabaseName.sh
  5、添加计划任务
  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
  输出类似如下
  

     上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号