萬盛學電腦網

 萬盛學電腦網 >> 數據庫 >> mysql教程 >> mysql定時自動備份數據庫腳本代碼(linux/windows)

mysql定時自動備份數據庫腳本代碼(linux/windows)

數據庫是一個網站的核心如果沒有數據庫了網站就維護起來相當麻煩,那數據庫的安全也是相當重復的,我們需要每天定時對數據庫進行備份,本文章來給大家介紹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

'$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、最後一步就是指定備份時間了。
到這裡就完成自動定時備份了,很簡單吧。

copyright © 萬盛學電腦網 all rights reserved