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

相关文章

来自专栏企鹅号快讯

最实用的Linux命令总结

1.linux安装中文环境(可选) 联网之后执行:sudo yum groupinstall chinese-support,安装完语言包之后修改/etc/sy...

1858
来自专栏Java开发

Linux常用命令

1162
来自专栏一个默默无闻的工程师的日常

使用kolla快速部署openstack all-in-one环境

2702
来自专栏linux系统运维

限定某个目录禁止解析php,限制user_agent, php相关配置

1635
来自专栏Laoqi's Linux运维专列

Ansible 实战与配置(Ⅳ)

1424
来自专栏北京马哥教育

15 分钟掌握 15 个 Docker 小窍门

1. 获取最近运行容器的id 这是我们经常会用到的一个操作,按照官方示例,你可以这样做(环境ubuntu): $ ID=$(docker run ubuntu...

2795
来自专栏xingoo, 一个梦想做发明家的程序员

CentOS6.5下安装JDK

之前一直没有完全的总结出一篇关于Linux下安装Java的过程,今天正好就整理下。 下载jdk 如果在官网下载比较慢,那么可以到我的云盘分享上,下载jdk...

1876
来自专栏魏豪的专栏

另一个Web应用服务器——Tomcat

Tomcat 由于其比较突出的优势,譬如 技术先进、性能稳定,而且免费,所以深受 Java 语言爱好者的喜爱,并且得到了部分软件开发商的认可,目前已经成为比较流...

2870
来自专栏三木的博客

Linux用户管理

###一、用户管理: Linux系统用户分为三类:超级用户、普通用户和伪用户。其具体区别如下: 超级用户:具有管理系统的一切权限。UID为0。 普通用户:具有有...

19010
来自专栏木子昭的博客

搬瓦工&极路由(ssh,scp最佳实战案例)

关于搬瓦工 ? 搬瓦工 最近往搬瓦工主机部署项目,而搬瓦工的默认登录端口号并非22号(我的是28208) 正确登录方式(以28208端口为例) ssh...

3086

扫码关注云+社区