詳細講解西軟FOXHIS增量備份與恢復(fù)方法
如何為西軟數(shù)據(jù)做增量備份及恢復(fù)
西軟在實施階段時,會設(shè)置好幾個Linux shell的自動任務(wù),把數(shù)據(jù)每天全庫備份兩次,并且并把數(shù)據(jù)通過ftp拷至備份庫,其實這樣做存在非常大的安全隱患,數(shù)據(jù)庫服務(wù)器如果給KO了,您酒店只有當天的兩次備份,數(shù)據(jù)損失將是12個小時來計算,對酒店經(jīng)營非常不利。如果通過Sybase和中標的高可用集群配置將帶來成本的高額上升,可能大部分酒店總經(jīng)理都不會批準這個方案,前段時間做了一個方案,并在我們集團的某酒店數(shù)據(jù)庫中實現(xiàn)了,過程非常簡單,就看各位EDP有沒有心思去做。這樣的做的好處是可以幫您把數(shù)據(jù)損失量控制在一個小時之內(nèi)。
提醒各位EDP,這個方案不太適合服務(wù)器性能較低的酒店,差異備份雖然數(shù)據(jù)量不大,但是還會稍微影響生產(chǎn)數(shù)據(jù)庫的io性能的。
方案總體概述:(這個辦法可以有效避免復(fù)雜的crontab重命名文件的操作,但是在寫腳本的時候有點累贅)
預(yù)備:準備工作設(shè)置
1. 編寫簡單的Linux shell文件,作用是調(diào)用sql腳本文件;
2. 編寫sql備份腳本文件;
3. 設(shè)置Linux crontab任務(wù),讓差異備份自己每小時進行;
4. 通過Windows 批處理文件,從Linux ftp中把數(shù)據(jù)定時拉出來;
5. 備份恢復(fù)。
預(yù)備:設(shè)置sybase數(shù)據(jù)sp_dboption參數(shù)。
1.進入命令行界面
2.輸入:sybase 密碼:sybase
3.輸入:isql -Usa 密碼為空按回車
4.輸入:sp_dboption foxhis,trunc,false //關(guān)閉truncation,保證增量備份可以在database online的情況下使用。
5.首先執(zhí)行全庫備份:
dump database foxhis to 'xx/xx/xx/full_full.dat' 6點一次
操作完以上工作后再進行下面的操作
一、編寫簡單的Linux shell文件,作用是調(diào)用sql腳本文件
首先需要用sybase用戶進入Linux系統(tǒng),在/home/sybase目錄下建立一個您的腳本文件夾
-bash-3.2$ mkdir hotelbackup //新建腳本文件夾 -bash-3.2$ cd hotelbackup //來到剛剛新建的腳本文件夾里 -bash-3.2$ vi 00.sh //用vi新建一個空白的shell文件然后在vi的狀態(tài)下,按一下字母“a”啟動vi的編輯模式,然后輸入: #!/bin/sh /home/sybase/bin/./isql -Usa -P -i/home/sybase/hotelbackup/00.sql //不要直接寫isql,一定要寫全路徑,避免isql啟動失??! :wq //輸入完成后,按下“esc”然后輸入“:wq”是保存退出。
這樣第一個shell腳本就編寫完成,具體意思就是說:啟動isql命令輸入用戶名和密碼,并在isql狀態(tài)下運行00.sql這個腳本的sql語句。
二、編寫sql備份腳本文件;
dump tran foxhis to '/home/sybase/hotelbackupfile/00.log' go //把差異備份到以上目錄
1. 我們的備份策略是每12小時做一次全庫備份,每小時做一次差異備份。上面的語句是做差異備份,文件名“00”可以自定義,我這里的00就是0點的意思,各位酒店EDP可以隨心所欲地命名。
2. 接下來我們設(shè)置全庫備份語句:
dump database foxhis to 'home/sybase/hotelbackupfile/06.bak' go //把全庫備份拷到以上目錄
3.一天又24個小時,為了少寫一些crontab的語句,我們建議各位酒店的EDP同事做24個sh文件和24個sql文件,這樣保證不會有錯誤,并且會自動覆蓋昨天的備份,基本起到全自動的備份目的,00.sh/00.sql、01.sh/01.sql .....23.sh/23.sql。也就是說,06和18的sql腳本就用第2點的語句,其它時候就用第1點的語句。把著一對對的文件放到hotelbackup文件后,我們繼續(xù)第三大點crontab的設(shè)置。
三、編寫自動運行crontab自動運行腳本。
1. 首先用sybase用戶登錄,切忌不要用root。
2. 然后輸入以下語句:
-bash-3.2$ crontab -e
//啟動crontab編輯模式,編輯完成完成后按"ESC"并輸入":wq"保存退出
3. 我們在后面添加如下語句:
意思很明顯每天的1點、2點.....6點30分......18點30分自動執(zhí)行sh的命名,剛剛大家看到sh文件就是調(diào)用sql文件,所以備份當您設(shè)置完這個crontab后,按下”esc“再輸入“wq”保存退出后,數(shù)據(jù)庫就會自動開始幫您自動做增量備份了,每天都數(shù)據(jù)會自動自己覆蓋,無需擔心備份爆慢的情況出現(xiàn)。
0 1 * * * sh /home/sybase/hotelbackup/01.sh 0 2 * * * sh /home/sybase/hotelbackup/02.sh 0 3 * * * sh /home/sybase/hotelbackup/03.sh 0 4 * * * sh /home/sybase/hotelbackup/04.sh 0 5 * * * sh /home/sybase/hotelbackup/05.sh 30 6 * * * sh /home/sybase/hotelbackup/06.sh 0 7 * * * sh /home/sybase/hotelbackup/07.sh 0 8 * * * sh /home/sybase/hotelbackup/08.sh 0 9 * * * sh /home/sybase/hotelbackup/09.sh 0 10 * * * sh /home/sybase/hotelbackup/10.sh 0 11 * * * sh /home/sybase/hotelbackup/11.sh 0 12 * * * sh /home/sybase/hotelbackup/12.sh 0 13 * * * sh /home/sybase/hotelbackup/13.sh 0 14 * * * sh /home/sybase/hotelbackup/14.sh 0 15 * * * sh /home/sybase/hotelbackup/15.sh 0 16 * * * sh /home/sybase/hotelbackup/16.sh 0 17 * * * sh /home/sybase/hotelbackup/17.sh 30 18 * * * sh /home/sybase/hotelbackup/18.sh 0 19 * * * sh /home/sybase/hotelbackup/19.sh 0 20 * * * sh /home/sybase/hotelbackup/20.sh 0 21 * * * sh /home/sybase/hotelbackup/21.sh 0 22 * * * sh /home/sybase/hotelbackup/22.sh 0 23 * * * sh /home/sybase/hotelbackup/23.sh 0 24 * * * sh /home/sybase/hotelbackup/00.sh
四、通過Windows 批處理文件,從Linux ftp中把數(shù)據(jù)定時拉出來;(待更新)
五、 備份恢復(fù)。
回復(fù)備份就非常簡單,如果在數(shù)據(jù)在20點30分擔時候掛掉了,也就是說我們損失了半個小時的數(shù)據(jù),操作方法如下:
load database from foxhis(DatabaseName) 'home/sybase/hotelbackupfile/18.bak' load tran from 'home/sybase/hotelbackupfile/19.log' load tran from 'home/sybase/hotelbackupfile/20.log' go online database foxhis
只要這簡單的幾個語句就可以把數(shù)據(jù)恢復(fù)過來,非常簡單。
相關(guān)文章
CentOS下使用LibreOffice實現(xiàn)文檔格式的轉(zhuǎn)換方式
項目需求,對上傳的文檔進行一些預(yù)處理,如果用戶上傳了doc格式的文檔,需要將其處理為docx或者pdf格式,以便后續(xù)的流程對文檔內(nèi)容進行提取。接下來通過本文給大家分享CentOS下使用LibreOffice實現(xiàn)文檔格式的轉(zhuǎn)換,感興趣的朋友一起看看吧2019-07-07Linux中使用crontab命令啟用自定義定時任務(wù)實例
本篇文章主要是介紹了Linux中使用crontab命令啟用自定義定時任務(wù)實例,感興趣的小伙伴們可以參考一下。2016-10-10linux新文件權(quán)限設(shè)置之umask的深入理解
這篇文章主要給大家介紹了關(guān)于linux新文件權(quán)限設(shè)置之umask的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03關(guān)于linux分區(qū),文件系統(tǒng),目錄結(jié)構(gòu)的概述
下面小編就為大家?guī)硪黄P(guān)于linux分區(qū),文件系統(tǒng),目錄結(jié)構(gòu)的概述。小編覺得挺不錯的。現(xiàn)在就分享給大家。也給大家做個參考。一起跟隨小編過來看看吧2016-12-12CentOS 6.5編譯安裝Nginx 1.10.2+MySQL 5.5.52+PHP5.5.38
這篇文章主要介紹了CentOS 6.5編譯安裝Nginx 1.10.2+MySQL 5.5.52+PHP5.5.38,需要的朋友可以參考下2017-02-02