在linux下可以通過crontab來設定定時執行資料庫的備份指令碼,同樣windows下可以通過設定任務計畫程式來設定要執行的自動備份指令碼。具體的設定過程不再詳述,下面分別為oracle和mysql的備份指令碼:
1.windows下oracle的備份指令碼:
@echo off
echo
資料庫開始進行備份...
cd e:\oracle\bin
set filename=%e:\backup_bat\local%date:~0,10%
exp giftsdev/giftsdev@local file=%filename%.dmp log=%filename%.log owner=giftsdev compress=y grants=y indexes=y constraints=y
jar cvf %filename%.jar %filename%.*
del %filename%.dmp
del %filename%.log
copy %filename%.jar e:\exp_data\local%date:~0,10%.jar
del %filename%.jar
echo
資料庫備份完成
echo.& pause
2.windows下mysql的備份指令碼
@echo off
echo
資料庫開始備份...
set dirname=bak%date:~0,4%%date:~5,2%
if not exist f:\oa_backup\%dirname% md f:\oa_backup\%dirname%
set nowdate=%date:~0,4%%date:~5,2%%date:~8,2%
set filename=tdoa-%nowdate%.rar
mysqldump -uroot -pmyoa888 td_oa > td_oa.sql
::e:\myoa\mysql\bin\mysqldump.exe -uroot -pmyoa888 td_oa > td_oa.sql
rar a %filename% td_oa.sql
::%windir%\system32\winrar.exe a %filename% td_oa.sql
move %filename% f:\oa_backup\%dirname%
del td_oa.sql
echo
資料庫備份完成!
echo.& pause
備份過程中遇到的問題:
(1) 建立資料夾失敗。在windows 2008
下,預設的日期格式為類似 2010/12/27
的樣式,在根據日期建立資料夾或者檔案時由於windows
不允許有「/
」特殊字元的存在,故報建立錯誤。這裡使用「set nowdate=%date:~0,4%%date:~5,2%%date:~8,2%
」分別取得年、月、日拼湊的形式變相實現。
(2) 環境變數問題。在寫完上述指令碼後,雙擊bat
檔案可以無誤順利的執行,但是扔到計畫任務執行時就總是報錯,具體為rar
和mysqldump
命令不存在。我懷疑是環境變數的設定沒有生效,由於在伺服器上不能輕易的執行伺服器的重啟,這裡用rar
和mysqldump
的完整路徑來代替(**中的紅色字型)
附:常見dos命令
1.dos
下的複製和移動 c
盤下的a.txt
檔案複製或移動到d
盤 命令為:
複製copy c:\a.txt d:\a.txt
移動move c:\a.txt d:\a.txt
2.dos
下的條件判斷
if not exist f:\oa_backup\%dirname% md f:\oa_backup\%dirname%
(判斷目錄是否存在)
3.dos
下的目錄建立和刪除
md——
建立子目錄
rd——
刪除子目錄
4. 關於%date:~4,10%
的格式這個命令的意思就是在date
的輸出中,取4-10
中間的字元。
對於不同的機器,可能有不同的時間格式,這個可以在控制面板裡設定。
可以通過echo
命令察看當前設定,如:
c:>echo %date%
星期一 2002-10-28
當然,我們可以同樣取到星期的值:
c:>echo %date:~0,3%
星期一當然也可以從不同方向來:
c:>echo %date:~-10%
2002-10-28
c:>echo %date:~0,-10%
星期一
5. rar
命令解壓縮檔案前要進行的操作: 1
〉將winrar.exe
檔案拷貝到system32
資料夾下; 2
〉將winrar
的安裝路徑放到環境變數中
rar打包檔案:
rar a %filename%.rar %filename%.*
rar解壓縮檔案
rar e %filename%.rar 6.
用jar
打包解壓檔案必須在當前系統中裝有jre
環境 jar
打包檔案:
jar cvf %filename%.jar %filwname%.*
jar解壓縮檔案:
jar xvf %filename%.jar
windows 計畫任務
schtasks 安排命令和程式,使其定期執行或在指定時間執行。向計畫中新增任務和從中刪除任務 根據需要啟動和停止任務以及顯示和更改計畫的任務 1.create schtasks create sc scheduletype tn taskname tr taskrun s computer u d...
windows計畫任務
1 windows server 2008 計畫任務在 配置?2 windows server 2008 可以配置每分鐘或是每小時執行我的任務嗎?答案是 可以!首先windows server 2008不同於其他伺服器作業系統和windows server 2003有著很大的區別,計畫任務的名稱是 ...
Windows計畫任務SCHTASKS
建立計畫的任務 語法 schtasks create sc scheduletype tn taskname tr taskrun s computer u domain user p password ru rp password mo modifier d day day.m month mon...