解放你的双手,ubuntu定时自动备份MySQL数据库,亲测有效

yumo6667个月前 (03-29)技术文章62

1、新建一个文件夹存放备份的数据文件,根据个人需要放在合适的位置

mkdir /home/cms_mysqlbackup

2、创建脚本文件,我放在home文件夹了,命名为autobackup.sh

cd /home
vim cmsdatabase_backup.sh

比如你的数据库用户名为cmsuser ,数据库密码为123456,要备份的数据库名为cmsdb,备份的数据库文件放在 /home/MySQL_backup/,为了区分备份日期,对备份的文件按备份时间命名,因此用了下面的第二行代码实现。文件内容如下

#!/bin/bash  
date_str=$(date +%Y%m%d-%T)  
cd /home/ubuntu/data_backup
mysqldump -h localhost -u cmsuser  --password=123456 -R -E -e \cmsdb> /home/MySQL_backup/mysql_$date_str.sql

编辑完成后保存退出

3、对脚本文件赋予运行权限

chmod +x cmsdatabase_backup.sh

4、可以在脚本所在文件夹下进行检验是否成功备份,命令如下

cd home
./cmsdatabase_backup.sh

看看是否成功生成了数据库sql文件


5、设置定时任务(两种方法语句内容不同)
方法1

 sudo vim /etc/crontab

添加 10 15 * * * root bash
/home/cmsdatabase_backup.sh

中间用空格分开,意思是 每天15:30分执行cmsdatabase_backup.sh脚本。
添加 */2 15 * * * root bash
/home/cmsdatabase_backup.sh

中间用空格分开,意思是 每2分钟执行cmsdatabase_backup.sh脚本。

10  15   *   *   *   root bash  /home/cmsdatabase_backup.sh
分  时   天  月  周

方法2

crontab -e



选择3
添加 10 15 * * * bash
/home/cmsdatabase_backup.sh

中间用空格分开,意思是 每天15:30分执行cmsdatabase_backup.sh脚本。
添加 */2 15 * * * bash
/home/cmsdatabase_backup.sh

中间用空格分开,意思是 每2分钟执行cmsdatabase_backup.sh脚本。


crontab 参数释义:

======================

注:crontab中的每一行代表一个定期执行的任务。前5个部分表示何时执行命令,最后一个部分表示执行的命令。每个部分以空格分隔,除了最后一个部分(命令)可以在内部使用空格之外,其他部分都不能使用空格。前5个部分分别代表:分钟,小时,天,月,星期,每个部分的取值范围如下:

分钟 0 - 59        天 1 - 31  
小时 0 - 23        月 1 - 12
星期 0 - 6 0表示星期天
 
* (星号) 表示任意值,比如在小时部分填写 * 代表任意小时(每小时)
,(逗号) 可以允许在一个部分中填写多个值,比如在分钟部分填写 1,3 表示一分钟或三分钟
/(斜线) 一般配合 * 使用,代表每隔多长时间,比如在小时部分填写 */2 代表每隔两小时。所以 */1 和 * 没有区别

注意:使用方法1时,语句里有root,使用方法2时,语句内没root。切记区分,否则命令错误无法执行

6、重启服务

/etc/init.d/cron restart


完工。

相关文章

windows下mysql自动备份及备份同步至NAS解决方案

一、问题描述某项目客户要求把阿里云上一台ECS非核心的mysql库做备份,具体要求如下:1、每天1:00对mysql数据库进行完全备份。2、备份文件存放到阿里云的NAS平台上。3、保留5天的备份副本。...

MySQL进行整库数据备份「表(结构+数据)、视图、函数、事件」

  前言  通常情况下,我们需要改什么地方就备份什么地方就可以了,但也免不了需要整库备份的时候,本文记录实现MySQL使用脚本进行整库数据备份【表(结构+数据)、视图、函数、事件】  主要是使用mys...

MySQL数据库备份

前端监控:www.webfunny.cn ;只需要简单几步,就可以搭建一套属于自己的前端监控系统,快来试试吧。(github:webfunny_monitor)一、mysqldump 简介mysqld...

使用docker备份mysql数据库

数据在项目中绝对是非常重要的,若数据发生丢失,很容易造成难以挽回的损失。所以,数据库备份在生产上是必不可少的,下面我们来了解下在docker环境下mysql数据库的备份是如何做的。一、数据库容器假设我...

mysql数据库怎么备份?

mysql数据库怎么备份?可以使用mysqldump命令来备份数据库,下面本篇文章就来给大家介绍一下,希望对你们有所帮助。1、打开开始菜单,下方搜索框中搜索cmd,打开cmd命令行2、输入命令,就可备...

MySQL管理授权和数据库的备份和还原详解

一般管理用户和授权由DBA去执行,DBA为数据库管理员一、管理用户1.添加用户CREATE USER '用户名'@'主机名'IDENTIFIED BY'密码';2.删除用户DROP USER '用户名...