Windows 下通過計畫任務執行資料庫備份指令碼

2021-09-21 09:42:38 字數 2836 閱讀 6499

在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...