mysql定時自動備份資料庫指令碼代碼(linux/windows)

來源:互聯網
上載者:User

操作步驟:

方法一

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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.