你好,游客 登录
背景:
阅读新闻

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

[日期:2018-06-07] 来源:博客园  作者: [字体: ]

  备份是容灾的基础,是指为防止系统出现操作失误或系统故障导致数据丢失,而将全部或部分数据集合从应用主机的硬盘或阵列复制到其它的存储介质的过程。而对于一些网站、系统来说,数据库就是一切,所以做好数据库的备份是至关重要的!

  备份是什么?

  为什么要备份

  容灾方案建设

  存储介质

  光盘

  磁带

  硬盘

  磁盘阵列

  DAS:直接附加存储

  NAS:网络附加存储

  SAN:存储区域网络

  云存储

  这里主要以本地磁盘为存储介质讲一下计划任务的添加使用,基本的备份脚本,其它存储介质只是介质的访问方式可能不大一样。

  既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果!

  存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质;

  #df-hFilesystem

  上面我们使用命令看出/home下空间比较充足,所以可以考虑在/home保存备份文件;

  cd/home

  mkdirbackupcdbackup

  注意把以下命令中的DatabaseName换为实际的数据库名称;

  当然,你也可以使用其实的命名规则!

  vibkDatabaseName.sh

  输入/粘贴以下内容:

  #!/bin/bash

  mysqldump-uusername-ppasswordDatabaseName>/home/backup/DatabaseName_$(date+%Y%m%d_%H%M%S).sql

  对备份进行压缩:

  #!/bin/bash

  mysqldump-uusername-ppasswordDatabaseName|gzip>/home/backup/DatabaseName_$(date+%Y%m%d_%H%M%S).sql.gz

  注意:

  把 username 替换为实际的用户名;

  把 password 替换为实际的密码;

  把 DatabaseName 替换为实际的数据库名;

  chmodu+xbkDatabaseName.sh

  添加可执行权限之后先执行一下,看看脚本有没有错误,能不能正常使用;

  ./bkDatabaseName.sh

  检测或安装 crontab

  确认crontab是否安装:

  执行 crontab 命令如果报 command not found,就表明没有安装

  如时没有安装 crontab,需要先安装它,具体步骤请参考:

  CentOS下使用yum命令安装计划任务程序crontab

  使用rpm命令从CentOS系统盘安装计划任务程序crontab

  添加计划任务

  执行命令:

  crontab-e

  这时就像使用vi编辑器一样,可以对计划任务进行编辑。

  输入以下内容并保存:

  */1****/home/backup/bkDatabaseName.sh

  具体是什么意思呢?

  意思是每一分钟执行一次shell脚本“/home/backup/bkDatabaseName.sh”。

  很简单,我们就执行几次“ls”命令,看看一分钟过后文件有没有被创建就可以了!

  如果任务执行失败了,可以通过以下命令查看任务日志:

  #tail-f/var/log/cron

  输出类似如下:

  Sep3014:01:01bogonrun-parts(/etc/cron.hourly)[2503]:starting0anacron

  Sep3014:01:01bogonrun-parts(/etc/cron.hourly)[2512]:finished0anacron

  Sep3015:01:01bogonCROND[3092]:(root)CMD(run-parts/etc/cron.hourly)

  Sep3015:01:01bogonrun-parts(/etc/cron.hourly)[3092]:starting0anacron

  Sep3015:01:02bogonrun-parts(/etc/cron.hourly)[3101]:finished0anacron

  Sep3015:50:44bogoncrontab[3598]:(root)BEGINEDIT(root)

  Sep3016:01:01bogonCROND[3705]:(root)CMD(run-parts/etc/cron.hourly)

  Sep3016:01:01bogonrun-parts(/etc/cron.hourly)[3705]:starting0anacron

  Sep3016:01:01bogonrun-parts(/etc/cron.hourly)[3714]:finished0anacron

 

  Sep3016:15:29bogoncrontab[3598]:(root)ENDEDIT(root)

收藏 推荐 打印 | 录入:Cstor | 阅读:
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数
点评:
       
评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
热门评论