每天自动备份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 条评论
登录 后参与评论

相关文章

来自专栏破晓之歌

15款Django开发常用软件包 原

1. Python social auth 一款社交账号认证/注册机制,支持Django、Flask、Webpy等在内的多个开发框架,提供了约50多个服...

482
来自专栏python爬虫实战之路

爬虫cookies详解

Cookie,有时也用其复数形式 Cookies,指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)。定义于 R...

1152
来自专栏前端正义联盟

jsonp-反向代理-CORS解决JS跨域问题的个人总结(更新 v2.0)

各个方法都有各自的优缺点,但是目前前端开发方面比较常用的是 jsonp,反向代理,CORS:

1012
来自专栏PHP实战技术

Redis实现缓存,你应该懂的哪些思路!

场景一:类似于微博,实现关注和被关注功能。 思路: 对每个用户使用两个集合类型键,用来存储关注别人的用户和被该用户关注的用户。当用户A关注用户B的时候,执行两步...

3627
来自专栏Java技术分享

跨域与跨域访问

什么是跨域 跨域是指从一个域名的网页去请求另一个域名的资源。比如从www.baidu.com 页面去请求 www.google.com 的资源。跨域的严格一点的...

20310
来自专栏wblearn

我的博客搭建之git的使用

前天我的github博客搭建好啦,并在本地写了一篇文章<a href="https://wblearn.github.io/2016/12/23/one/"ta...

551
来自专栏前端说吧

关于跨域-学习笔记

2766
来自专栏企鹅号快讯

Git 分支开发入门

这两天开始准备在GitHub和别人一起开发,然后fork了别人的项目,然后发现自己git不是很熟练,尤其是协同开发的时候。 今天就简单总结几条命令。 创建分支 ...

2885
来自专栏程序员宝库

从 0 到 1 优雅的实现PHP多进程管理

_ | | _ __ __ _ _ __ _ _| |_ ___ | '_...

41510
来自专栏北京马哥教育

Linux运维常见故障排查和处理的33个技巧汇总

作为linux运维,多多少少会碰见这样那样的问题或故障,从中总结经验,查找问题,汇总并分析故障的原因,这是一个Linux运维工程师良好的习惯。每一次技术的突破,...

3806

扫码关注云+社区