您当前的位置: 首页 > 数据库教程 > MySQL教程 > Ubuntu Server下MySql数据库备份脚本代码

Ubuntu Server下MySql数据库备份脚本代码

作者:不详 来源:网络 发布时间: 2014-07-24 17:44 点击:
说明: 我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份。 实现步骤: 1、创建保存备份文件的目

Ubuntu Server下MySql数据库备份脚本代码

  说明:

  我这里要把MySql数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2012_04_11.tar.gz的压缩文件格式(2012_04_11是指备份执行时当天的日期), 最后只保留最近7天的备份。

  实现步骤:

  
1、创建保存备份文件的目录:/home/mysql_data

  cd /home #进入目录

  mkdir mysql_data #创建目录

  2、创建备份脚本文件:/home/mysql_data/mysql_databak.sh

  cd /home/mysql_data #进入目录

  touch mysql_databak.sh #创建文件

  nano mysql_databak.sh #编辑文件,输入以下内容

  复制代码 代码如下:

  #!/bin/sh

  DUMP=/usr/bin/mysqldump #mysqldump备份程序执行路径

  OUT_DIR=/home/mysql_data #备份文件存放路径

  LINUX_USER=root #系统用户名

  DB_NAME=pw85 #要备份的数据库名字

  DB_USER=root #数据库账号 注意:非root用户要用备份参数 --skip-lock-tables,否则可能会报错

  DB_PASS=123456 #数据库密码

  DAYS=7 #DAYS=7代表删除7天前的备份,即只保留最近7天的备份

  cd $OUT_DIR #进入备份存放目录

  DATE=`date +%Y_%m_%d` #获取当前系统时间

  OUT_SQL="$DATE.sql" #备份数据库的文件名

  TAR_SQL="mysqldata_bak_$DATE.tar.gz" #最终保存的数据库备份文件名

  $DUMP -u$DB_USER -p$DB_PASS $DB_NAME --default-character-set=utf8 --opt -Q -R --skip-lock-tables> $OUT_SQL #备份

  tar -czf $TAR_SQL ./$OUT_SQL #压缩为.tar.gz格式

  rm $OUT_SQL #删除.sql格式的备份文件

  chown $LINUX_USER:$LINUX_USER $OUT_DIR/$TAR_SQL #更改备份数据库文件的所有者

  find $OUT_DIR -name "mysqldata_bak*" -type f -mtime +$DAYS -exec rm {} ; #删除7天前的备份文件

  (注意:{} ;中间有空格)

  #######################################################################################################

  ctrl+o #保存配置

  ctrl+x #退出

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

  chmod +x /home/mysql_data/mysql_databak.sh

  4、修改/etc/crontab

  nano /etc/crontab #编辑文件,在下面添加

  45 22 * * * root /home/mysql_data/mysql_databak.sh #表示每天22点45分执行备份

  ctrl+o #保存配置

  ctrl+x #退出

  5、重新启动crond使设置生效

  service cron stop #停止

  service cron start #启动

  /etc/init.d/cron restart #重启

  chkconfig cron on #设为开机启动

  每天你在/home/mysql_data目录下面可以看到类似mysqldata_bak_2012_04_11.tar.gz这样的压缩文件

  如果需要恢复文件的时候,只需要把这个文件解压:tar -zxvf mysqldata_bak_2012_04_11.tar.gz

  然后导入到数据库中即可。

  至此,Ubuntu Server下MySql数据库备份脚本完成。
分享到:
本文"Ubuntu Server下MySql数据库备份脚本代码"由远航站长收集整理而来,仅供大家学习与参考使用。更多网站制作教程尽在远航站长站。
顶一下
(0)
0%
踩一下
(0)
0%
[点击 次] [返回上一页] [打印]
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 密码: 验证码:
关于本站 - 联系我们 - 网站声明 - 友情连接- 网站地图 - 站点地图 - 返回顶部
Copyright © 2007-2013 www.yhzhan.com(远航站长). All Rights Reserved .
远航站长:为中小站长提供最佳的学习与交流平台,提供网页制作与网站编程等各类网站制作教程.
官方QQ:445490277 网站群:26680406 网站备案号:豫ICP备07500620号-4