2019独角兽企业重金招聘Python工程师标准>>>

概述

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

备份是什么?

为什么要备份

容灾方案建设

存储介质

光盘
磁带
硬盘
磁盘阵列
DAS:直接附加存储
NAS:网络附加存储
SAN:存储区域网络
云存储

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

1、查看磁盘空间情况:

既然是定时备份,就要选择一个空间充足的磁盘空间,避免出现因空间不足导致备份失败,数据丢失的恶果!
存储到当前磁盘这是最简单,却是最不推荐的;服务器有多块硬盘,最好是把备份存放到另一块硬盘上;有条件就选择更好更安全的存储介质;

# df -h
Filesystem                    Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root   50G   46G  1.6G  97% /
tmpfs                         1.9G   92K  1.9G   1% /dev/shm
/dev/sda1                     485M   39M  421M   9% /boot
/dev/mapper/VolGroup-lv_home  534G  3.6G  503G   1% /home
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

2、创建备份目录:

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

cd /home
mkdir backup
cd backup
  • 1
  • 2
  • 3

3、创建备份Shell脚本:

注意把以下命令中的DatabaseName换为实际的数据库名称;
当然,你也可以使用其实的命名规则!

vi bkDatabaseName.sh
  • 1

输入/粘贴以下内容:

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql
  • 1
  • 2

对备份进行压缩:

#!/bin/bash
mysqldump -uusername -ppassword DatabaseName | gzip > /home/backup/DatabaseName_$(date +%Y%m%d_%H%M%S).sql.gz
  • 1
  • 2

注意:
把 username 替换为实际的用户名;
把 password 替换为实际的密码;
把 DatabaseName 替换为实际的数据库名;

4、添加可执行权限:

chmod u+x bkDatabaseName.sh
  • 1

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

./bkDatabaseName.sh
  • 1

5、添加计划任务

检测或安装 crontab

确认crontab是否安装:
执行 crontab 命令如果报 command not found,就表明没有安装

# crontab
-bash: crontab: command not found
  • 1
  • 2

如时没有安装 crontab,需要先安装它,具体步骤请参考:
CentOS下使用yum命令安装计划任务程序crontab
使用rpm命令从CentOS系统盘安装计划任务程序crontab

添加计划任务

执行命令:

crontab -e
  • 1

这时就像使用vi编辑器一样,可以对计划任务进行编辑。
输入以下内容并保存:

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

具体是什么意思呢?
意思是每一分钟执行一次shell脚本“/home/backup/bkDatabaseName.sh”。

6、测试任务是否执行

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

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

# tail -f /var/log/cron
  • 1

输出类似如下:

Sep 30 14:01:01 bogon run-parts(/etc/cron.hourly)[2503]: starting 0anacron
Sep 30 14:01:01 bogon run-parts(/etc/cron.hourly)[2512]: finished 0anacron
Sep 30 15:01:01 bogon CROND[3092]: (root) CMD (run-parts /etc/cron.hourly)
Sep 30 15:01:01 bogon run-parts(/etc/cron.hourly)[3092]: starting 0anacron
Sep 30 15:01:02 bogon run-parts(/etc/cron.hourly)[3101]: finished 0anacron
Sep 30 15:50:44 bogon crontab[3598]: (root) BEGIN EDIT (root)
Sep 30 16:01:01 bogon CROND[3705]: (root) CMD (run-parts /etc/cron.hourly)
Sep 30 16:01:01 bogon run-parts(/etc/cron.hourly)[3705]: starting 0anacron
Sep 30 16:01:01 bogon run-parts(/etc/cron.hourly)[3714]: finished 0anacron
Sep 30 16:15:29 bogon crontab[3598]: (root) END EDIT (root)

转载于:https://my.oschina.net/u/3707722/blog/1550933

linux下如何实现mysql数据库每天自动备份定时备份相关推荐

  1. Mysql学习总结(44)——Linux下如何实现mysql数据库每天自动备份定时备份

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

  2. linux首次登陆mysql设置密码,Linux下第一次使用MySQL数据库,设置密码

    在终端下输入:/etc/rc.d/init.d/mysqld status 查看MySQL状态,看看是否运行. 没有运行的话就输入:/etc/rc.d/init.d/mysqld start 这时,就 ...

  3. mysql5.6.24安装perl,linux下perl操作MySQL数据库(需要安装DBI)

    这篇文章主要为大家详细介绍了linux下perl操作MySQL数据库(需要安装DBI),具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编小韵来看看吧!DBI安装:D ...

  4. linux mysql如何远程连接mysql数据库,Linux下远程连接MySQL数据库的方法

    Linux下远程连接MySQL数据库的方法 踩坑笔记 估计搞了一个多小时才把这个远程连接搞好.一台本地电脑,一台云服务器,都是linux系统. 步骤 1.在服务器端开启远程访问 首先进入mysql数据 ...

  5. Linux下编译连接mysql数据库

    1.在Linux下编译连接mysql数据库的程序时,需要使用安装Mysql数据库时自带的mysql_config脚本.它会为你编译MySQL客户端,并连接到MySQL服务器提供有用的信息.需要使用下面 ...

  6. linux mysql 开发环境_RedHat Linux下QT平台MySQL数据库开发环境配置

    This doucment is about how to add MySQL driver into QT and about database connections 由于之前安装RedHat的时 ...

  7. Linux下QT平台Mysql数据库开发环境配置

    This doucment is about how to add mysql driver into QT and about database connections     由于之前安装RedH ...

  8. Linux下如何启用MySQL数据库远程访问

    远程连接MySQL出于安全考虑,一般都关闭了远程访问,但有时候需要提供远程访问数据库的服务,下面我们快速学习下: 第一步:修改my.cnf文件 使用文本编辑器去编辑MySQL服务器的配置文件my.cn ...

  9. linux下使用的mysql数据库,Linux下安装以及使用MySQL数据库

    1.官网下载mysql数据库:https://dev.mysql.com/downloads/mysql/ 2.linux 下可直接下载:wget https://cdn.mysql.com//Dow ...

最新文章

  1. linux关机告诉用户,在Linux服务器关机前向用户显示一条自定义消息
  2. 现代软件工程 团队博客作业 如何评价个人在团队中的绩效
  3. Message Loop 原理及应用
  4. Linux内核中的GPIO系统之(3):pin controller driver代码分析
  5. 职称计算机初级应知应会书,2017专业技术职称申报应知应会.ppt
  6. vi格式化代码,撤销,重做,回退操作
  7. python3.6字典有序_为什么Python3.6字典变得有序了?
  8. Sublime Text 2 快捷键用法大全(转)
  9. 推荐好用的Linux远程连接工具
  10. 认知差距决定我们的人生差距?!
  11. boost::bind 详解
  12. c语言移位,移位运算符
  13. 计算机硬件故障检测论文,《浅析计算机硬件故障的判断及维修》-毕业论文(设计).doc...
  14. python--pygame模块--外星人入侵小游戏项目(全)
  15. 终于删掉了巧压(QiaoZip)
  16. 6410同时支持colorkey和aphablend
  17. 直播界要哭了!罗永浩进军电商直播:最可怕的对手,永远来自未知领域!
  18. C# 是否读到文件尾, 怎么判断
  19. 【通关MySQL】Win11如何将MySQL卸载干净?
  20. Web应用程序与桌面应用程序的区别

热门文章

  1. Linux root用户忘记密码解决方法
  2. 数据结构与算法笔记(十)—— 快速排序
  3. 运行VC++6.0出现error LNK2001: unresolved external symbol _WinMain@16
  4. linux 系统tar文件压缩打包命令
  5. python 珠玑妙算
  6. Halcon资料:image,region,xld三者如何转化和保存
  7. java代码执行mysql语句_三种执行SQL语句的的JAVA代码
  8. 用electron-forge创建一个项目
  9. python中循环结构关键字_Python的循环结构,也简单!
  10. 工作流引擎Activiti使用总结