2014年12月4日 星期四

Server SQL排程資料備份



環境:
1. SQL Server 2008  + MsSQL 2008 (機器在公司內部)
2.Linux(Fedora 10) + MySQL (機器在外部機房)


備份地點:

公司內部的Apple time capsule


備份方式:

因為Apple time capsule不知原FTP的功能,只能透過雲端硬碟的方式來做備份
所以我先將在外部的Linux透過FTP的方式將dump出來的.sql檔案傳到內部的SQL Server
在統一將SQL Server 的檔案用xcopy的方式放到雲端硬碟




實際操作記錄:

Linux部分:
1.首先要先透過vi編輯好Shell Script部分

[root@ec ~]# vi backup.sh
#!/bin/bash
# Program:
# Backup MySQL Datebases
# History:
# 2014/12/05
PATH=/usr/lib/qt-3.3/bin:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/home/marrble
export PATH


now=$(date +%Y-%m-%d)
mysqldump --default-character-set=utf8 -uroot --password=********** imed > /home/marrble/imed_$now.sql
mysqldump --default-character-set=utf8 -uroot --password=********** imed1 > /home/marrble/imed1_$now.sql
mysqldump --default-character-set=utf8 -uroot --password=********** imed_spa > /home/marrble/imed_spa_$now.sql
mysqldump --default-character-set=utf8 -uroot --password=********** imed_tools > /home/marrble/imed_tools_$now.sql


host='IP(111.111.111.111)'
account='FTP account(admin)'
pswd='FTP Password(admin)'

ftp -n $host << EOF
user $account $pswd
lcd /home/marrble
put imed_$now.sql
put imed1_$now.sql
put imed_spa_$now.sql
put imed_tools_$now.sql
bye

PS:這部分應該要再將檔案透過FTP傳到別台電腦時,將備份出來的.sql檔案刪除,或是設定刪除前5天資料才不會讓資料量越來越大,只是目前測試還沒成功....

2.再來透過 crontab -e 編輯排程,設定每天中午12:10分執行sh

[root@ec ~]# crontab -e

10 12 * * * /home/marrble/test.sh


這樣Linux部分就算是結束了,除了Shell Script撰寫比較會有問題,像是備份檔案什麼的都必須指定實體路徑,或是要加一段 cd 到指定路徑

參考資料:
Mysql 定期備份:    http://www.lihuai.net/linux/mysql/803.html
鳥哥16、13章:       http://linux.vbird.org/linux_basic/0430cron.php
                                http://linux.vbird.org/linux_basic/0340bashshell-scripts.php
定期刪除資料:       http://my.oschina.net/u/231017/blog/186447






SQL Server 到 time capsule未完......




沒有留言:

張貼留言