mysql定时自动备份数据库脚本代码(linux/windows)
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-08 14:31:40 浏览: 评论:0
数据库是一个网站的核心如果没有数据库了网站就维护起来相当麻烦,那数据库的安全也是相当重复的,我们需要每天定时对数据库进行备份,本文章来给大家介绍mysql定时自动备份数据库的方法,有需要了解的朋友可参考.
操作步骤:
方法一,1、安装p7zip,由于源里面没有此包,直接下载源码安装.
地址:http://p7zip.sourceforge.net/,代码如下:
- wget http://sourceforge.net/projects/p7zip/files/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2
- tar xvf p7zip_9.20.1_src_all.tar.bz2
- cd p7zip_9.20.1_src_all
- make && make install
- wget http://sourceforge.net/projects/p7zip/files/p7zip/9.20.1/p7zip_9.20.1_src_all.tar.bz2
- tar xvf p7zip_9.20.1_src_all.tar.bz2
- cd p7zip_9.20.1_src_all
- make && make install
2、备份脚本,back.sh,代码如下:
- #!/bin/sh
- filename="/home/www/data/"`date -d last-day +%Y%m%d`
- viewdate=`date -d last-day +%Y-%m-%d`
- mysqlcheck -uuser -ppassword database
- mysqldump -uuser -ppassword --opt --compact --skip-comments database table --where "datafield like
- --phpfensi.com
- '$viewdate%'" > $filename".sql"
- sed -i 's/CREATE/ TABLE/&/ IF/ NOT/ EXISTS/' $filename".sql"
- /usr/local/bin/7za a $filename".7z" $filename".sql"
- rm $filename".sql"
3、用cron实现每天0点自动备份,代码如下:
00 00 * * * /home/www/data/bash.sh > /dev/null 2>&1
通过这种方法,每天生成100M数据表,压缩后为7M多.
方法二,Linux 下自动备份数据库的 shell 脚本.
Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库,其实非常简单,主要就是使用 MySQL 自带的 mysqldump 命令.
脚本内容如下:
- #!/bin/sh
- # File: /home/mysql/backup.sh
- # Database info
- DB_NAME="test"
- DB_USER="username"
- DB_PASS="password"
- # Others vars
- BIN_DIR="/usr/local/mysql/bin"
- BCK_DIR="/home/mysql/backup"
- DATE=`date +%F`
- # TODO
- $BIN_DIR/mysqldump --opt -u$DB_USER -p$DB_PASS $DB_NAME | gzip > $BCK_DIR/db_$DATE.gz
然后使用将此脚本加到 /etc/crontab 定时任务中,代码如下:
01 5 * * 0 mysql /home/mysql/backup.sh
好了,每周日凌晨 5:01 系统就会自动运行 backup.sh 文件备份 MySQL 数据库了,代码如下:
/home/www/inc/back
windows服务器下自动备份mysql,我们先把下面代码保存成一个bakmysql.bat文件,然后保存,位置可以随意了,代码如下:
- net stop mysql
- xcopy c:/mysql/data/bbs/*.* d:/db_bak/bbs/%date:~0,3%/ /y
- net start mysql
然后我们再利用windows计划任务来操作.
1、开始-程序-附件-系统工具-计划任务.
2、添加计划任务.
3、最后一步就是指定备份时间了.
到这里就完成自动定时备份了,很简单吧.
Tags: mysql定时备份 mysql自动备份
相关文章
- ·windows下mysql每天定时备份数据库几种方法(2014-09-28)
- ·mysql定时备份数据库的shell脚本详解 (2014-09-29)
- ·windows下自动定时mysql备份数据库方法(2014-10-03)
- ·linux中shell脚本进行MySQL数据库定时备份(2014-10-09)
- ·mysql利用mysqldump定时自动备份mysql数据库(2014-10-01)
- ·linxu中每天自动备份mysql两段脚本(2014-10-03)
- ·linux unix mysql 数据库自动备份(2014-10-04)
- ·mysql数据库自动备份且恢复破坏数据方法(2014-10-14)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)