用 crontab 每天定时备份 MySQL

  利用系统 crontab 来定时执行备份文件,按日期对备份结果进行保存,达到备份的目的。

  1、创建保存备份文件的路径 /mysqldata

  #mkdir /mysqldata

  2、创建 /usr/sbin/bakmysql 文件

  #vi /usr/sbin/bakmysql

  输入

  rq=` date +%Y%m%d `

  tar zcvf /mysqldata/mysql$rq.tar.gz /var/lib/mysql

  或者写成

  rq=` date +%Y%m%d `

  mysqldump --all-databases -u root -p980405 > /mysqldata/mysql$rq.tar.gz

  /var/lib/mysql 是你数据库文件的目录,部分用户是 /usr/local/mysql/data,每个人可能不同

  /mysqldata/ 表示保存备份文件的目录,这个每个人也可以根据自己的要求来做。

  3、修改文件属性,使其可执行

  # chmod +x /usr/sbin/bakmysql

  4、修改 /etc/crontab

  #vi /etc/crontab

  在下面添加

  01 3 * * * root /usr/sbin/bakmysql

  表示每天 3 点钟执行备份

  5、重新启动 crond

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

  完成。

  这样每天你在 /mysqldata 可以看到这样的文件 mysql20040619.tar.gz 你直接下载就可以了。在 tar 命令执行前,停止数据库服务进程或锁定数据库,否则恢复数据时,会出现数据库损坏的情形,运气好时可修复,运气不好时就不可以了。