每天自动备份mysql脚本

定时执行脚本:

  1、执行

  crontab -e 00 00 * * * /bin/bash yourpath/mysqlbak.sh

  2、打开自动执行文件

  vi /etc/crontab

  在etc中加入如下内容,让其自动执行任务。

  00 00 * * * root /mysqlbak.sh

  以上两个 00 00 * * * 为每天的凌晨自动执行脚本

  分 时 日 月 周 命令

  M: 分钟(0-59)。每分钟用*或者 */1表示

  H:小时(0-23)。(0表示0点)

  D:天(1-31)。

  m: 月(1-12)。

  d: 一星期内的天(0~6,0为星期天)。

  每五分钟执行 */5 * * * *

  每小时执行 0 * * * *

  每天执行 0 0 * * *

  每周执行 0 0 * * 0

  每月执行 0 0 1 * *

  每年执行 0 0 1 1 *

  重启cron

  /etc/rc.d/init.d/crond restart

  or

  service crond restart

  详细请看crond的wiki

  mysqlback.sh

  #!/bin/bash

  #功能说明:本功能用于备份数据库

  #编写日期:2010/12/06

  PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin

  export PATH

  #数据库用户名

  dbuser='root'

  #数据库密码

  dbpasswd='123456′

  #数据库名,可以定义多个数据库,中间以空格隔开,如:test test1 test2

  dbname='test1 test2′

  #备份时间

  backtime=`date +%Y%m%d%H%M%S`

  #日志备份路径

  logpath='/second/backup'

  #数据备份路径

  datapath='/second/backup'

  #日志记录头部

  echo '"备份时间为${backtime},备份数据库表 ${dbname} 开始" 》 ${logpath}/mysqllog.log

  #正式备份数据库

  for table in $dbname; do

  source=`mysqldump -u ${dbuser} -p${dbpasswd} ${table}> ${logpath}/${backtime}.sql` 2》 ${logpath}/mysqllog.log;

  #备份成功以下操作

  if [ "$?" == 0 ];then

  cd $datapath

  #为节约硬盘空间,将数据库压缩

  tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null

  #删除原始文件,只留压缩后文件

  rm -f ${datapath}/${backtime}.sql

  echo "数据库表 ${dbname} 备份成功!!" 》 ${logpath}/mysqllog.log

  else

  #备份失败则进行以下操作

  echo "数据库表 ${dbname} 备份失败!!" 》 ${logpath}/mysqllog.log

  fi

  done

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2015-09-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Python小屋

Python扩展库psutil用法精要

0、安装与导入psutil pip install psutil import psutil 1、查看CPU信息 >>> psutil.cpu_count() ...

2724
来自专栏别先生

根据id查询所有子节点/父节点,mysql 以及ssm前后台处理流程

注意:自己的数据表表名称,切记手动修改,字段名称(特别注意id,parent_id字段名称,不然肯定查询不出来的)。

643
来自专栏乐沙弥的世界

MySQL 数据库的启动与关闭

    MySQL数据库服务器通常指的的是mysqld,而命令行mysql则是mysql客户端程序,这两个概念通常容易混淆。通常启动mysql服务器即是启动my...

604
来自专栏Python

mysql数据备份与恢复

MySQL数据备份与恢复 #1. 物理备份: 直接复制数据库文件,适用于大型数据库环境。但不能恢复到异构系统中如Windows。 #2. 逻辑备份: 备份的是建...

2636
来自专栏james大数据架构

Docker镜像导致centos-root根分区容量爆满

  当虚拟机服务器运行Docker久了后,发现Docker的文件越来越大,某天发现此台机上的数据库访问不了了,再重启数据库等日志,提示空间不足,查看磁盘空间: ...

3645
来自专栏乐沙弥的世界

SPFILE 错误导致数据库无法启动(ORA-01565)

--==========================================

472
来自专栏程序猿DD

微服务架构:Eureka参数配置项详解

来源:https://www.areatao.com/article/5b45718d7ab07c574d5888d0?from=timeline&isappi...

623
来自专栏沈唁志

LNMP 下 memcached 常用指令收集整理笔记

1493
来自专栏C语言及其他语言

几张趣图助你理解HTTP状态码~

HTTP状态码(图一): ? 注释: 301—永久移动。被请求的资源已被永久移动位置; 302—请求的资源现在临时从不同的 URI 响应请求; 305—使...

3266
来自专栏java一日一条

关于HTTP状态码详细解析

多种选择,请求的资源包括多个位置,响应可返回同一个资源特征与地址的列表用于用户终端选择。

631

扫描关注云+社区