概述

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

备份是什么?

为什么要备份

容灾方案建设

存储介质

光盘

磁带

硬盘

磁盘阵列

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 -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)

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

  1. linux上mysql定时备份数据库数据_Linux下如何实现MySQL数据库每天定时自动备份

    在云计算的浪潮下,企业多将业务部署在云上.对于数据库中的数据,直接使用云数据库自带的备份功能实现备份,操作简单.但是云数据库备份数据的存储空间有限制,一旦超出存储量便自动关闭备份功能,运维人员往往也会 ...

  2. linux本地mysql与服务器同步数据_linux下指定mysql数据库服务器主从同步的配置实例...

    一. 概念:① 数据库同步  (主从同步 --- 主数据库写的同时 往从服务器写数据) ② 数据库同步  (主主同步 --- 两台数据库服务器互相写数据) 二. 举例数据库服务器(A) 主数据库   ...

  3. 64位linux安装mysql数据库吗_linux下怎么安装mysql数据库

    展开全部 1.到mysql官网下载mysql编译32313133353236313431303231363533e78988e69d8331333363393632好的二进制安装包,在下载页面Sele ...

  4. java下拉框读取数据库数据_下拉框读取数据库数据库

    一起谈.NET技术,Visual Studio 2008单元测试_数据库测试 我们开发一个系统必须与数据库打交道,需要写N个SQL.存储过程.自定义函数.视图等,那么能否使用Visual Studio ...

  5. linux上验证cudnn是否安装成功_Linux下CUDA+CUDNN+TensorFlow安装笔记

    之前用过TensorFlow的CPU版,现在买了个新电脑,就想把GPU也用起来,又因为目前大部分工作是在linux下做,所以有了在linux下安装cuda和TensorFlow的计划,快一个礼拜一直在 ...

  6. 【linux 上批量下载amazon s3数据】

    linux 上批量下载amazon s3数据 linux 上批量下载amazon s3数据 linux 上批量下载amazon s3数据 最近导师喊我下载amazon s3上的数据传到服务器上,没用过 ...

  7. postman参数化--上一个接口返回的数据作为下一个接口的参数

    postman是测试接口经常使用的工具,它是一个很强大的工具.那么在测试中若是存在接口依赖的现象改怎么测试呢? 在使用postman做接口测试的时候,在多个接口的测试中,如果需要上一个接口的返回值作为 ...

  8. linux 链接数据库mysql数据库文件_linux 命令行 链接mysql数据库

    MySQL命令行导出数据库 MySQL命令行导出数据库: 1,进入MySQL目录下的bin文件夹:cd MySQL中到bin文件夹的目录 如我输入的命令行:cd C:\Program Files\My ...

  9. mysql远程定时任务_Linux下定时任务实现mysql自动备份并上传远程ftp

    Linux下定时任务实现mysql自动备份并上传远程ftp 1.创建保存备份文件的目录:/home/mysql_data cd /home mkdir mysql_data 2.创建备份脚本文件:/h ...

  10. 64位linux安装mysql数据库吗_Linux下安装Mysql数据库

    在Hadoop开发的时候我们要用到mysql数据库,因此我们有必要学习一下怎样在Linux下安装mysql. 第一步:下载MySQL-client-5.1.73-1.glibc23.x86_64.rp ...

最新文章

  1. mybatis转义反斜杠_mybatis like 的坑
  2. 微信小程序隐藏标题栏navigationBar的方法
  3. Deep learning:十九(RBM简单理解)
  4. 动态规划系列-连续的子数组和(leetcode523)
  5. 重构:从方法论到实践
  6. atitit.数据验证--db数据库数据验证约束
  7. 在iOS开发的Quartz2D使用中实现图片剪切和截屏功能
  8. 轻量级日志收集转发 | fluent-bit指令详解(一)
  9. win10 Visio软件运行 闪退
  10. C4D插件X-Particles粒子特效(五)
  11. word导航窗显示二级目录
  12. python opencv颜色通道_【Python+OpenCV之五】 分离颜色通道多通道图像混合
  13. 基于OpenCv的视频流处理方法
  14. android7.1 打印机 (ghostscript+hpijs - hplip)
  15. html 设置请求头,http请求头和响应头设置
  16. android 酷炫倒计时,Hurry - 一个有颜值又好用的倒计时应用 - Android 应用 - 【最美应用】...
  17. 史上最全的MySQL优化手册
  18. 《动手学深度学习》Task09:目标检测基础+图像风格迁移+图像分类案例1
  19. 软件定义网路核心原理与应用实践(二)SDN接口协议
  20. 三自由度无人机飞手培训、PID调试、飞行教学、飞控算法验证、故障仿真平台

热门文章

  1. shape-outside
  2. lettuce连接池真有必要吗?
  3. Android中MVVM架构设计模式面试问题讲解
  4. 计算机网络(棋歌教学网站实验)
  5. 微信小程序登录后,用户名显示微信用户,头像显示灰色,用户自己的头像和名称无法正常显示的问题(附解决方案)
  6. html天气js,H5 实现天气效果(心知天气插件)
  7. 使用JS判断日期的有效性
  8. 门店超越星巴克背后,瑞幸成咖啡市场新航标
  9. 两位顶级社会工程学大师:凯文-米特尼克和 弗兰克-阿巴内尔
  10. 【NLP】常见的自然语言处理任务和技术