国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > VBScript > 正文

使用批處理文件異地備份數(shù)據(jù)庫(kù)(最近幾天的數(shù)據(jù))

2020-06-26 17:41:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
數(shù)據(jù)庫(kù)異地備份對(duì)一個(gè)網(wǎng)站來(lái)說(shuō)是非常必要的,這里談一下使用批處理文件對(duì)數(shù)據(jù)庫(kù)異地本份的過(guò)程
 

為了保障服務(wù)器中數(shù)據(jù)的可恢復(fù)性,采用異地備份數(shù)據(jù)庫(kù)方案。異地備份數(shù)據(jù)分為異地備份文件數(shù)據(jù)與異地備份數(shù)據(jù)庫(kù)數(shù)據(jù)二種。其中異地備份文件數(shù)據(jù)是為了備份網(wǎng)站中用戶上傳的文件而設(shè)計(jì)的。而異地備份數(shù)據(jù)庫(kù)數(shù)據(jù)是將數(shù)據(jù)庫(kù)中數(shù)據(jù)備份文件上傳到異地服務(wù)器。

一、實(shí)施過(guò)程及原理為:

1.       需安裝WinRAR軟件,用于將多個(gè)待備份文件壓縮成一個(gè)壓縮文件。
2.       書寫備份腳步:
目錄定位到WinRAR軟件安裝路徑下
cd c:/program files/winrar
執(zhí)行rar.exe程序
rar a -r -y c:/c.rar c:/c/a c:/c/b
連接遠(yuǎn)程ftp服務(wù)器,其中要書寫ftp://ftp.txt/文件
ftp -s:c:/ftp.txt 192.168.0.1
可刪除本地備份文件
del /f /q c:/c.rar
目錄重新定位
cd/
完整代碼如下(back.bat):

 

復(fù)制代碼代碼如下:

cd c:/program files/winrar
rar a -r -y c:/c.rar c:/c/a c:/c/b
ftp -s:c:/ftp.txt 192.168.0.1
del /f /q c:/c.rar
cd/

 

3. 書寫遠(yuǎn)程ftp連接配置文件

用戶名
密碼
cd 路徑
Put 本地文件路徑及文件名 遠(yuǎn)程文件路徑及文件名
Bye為退出
完整代碼如下(ftp.txt):
admin
Heroic
put c:/c.rar c.rar
bye
4.       通過(guò)windows自帶的“任務(wù)計(jì)劃”功能定時(shí)運(yùn)行bat文件。(通過(guò)“開始”->“附近”->“系統(tǒng)工具”->“任務(wù)計(jì)劃”
5.       備份oracle數(shù)據(jù)庫(kù)命令為:
exp userid/pwd@servicename file = "backupfilepath" owner = user
注意userid為系統(tǒng)管理員,backupfilepath為文件保存路徑(文件后綴為dmp) ,user是針對(duì)那個(gè)用戶進(jìn)行備份,如果不寫該參數(shù),則默認(rèn)針對(duì)userid用戶進(jìn)行備份
例如:
exp user/pwd@servername file=d:"backup"oracle"oracle%date:~0,10%.dmp owner=system log=d:"backup"oracle"oracle%date:~0,10%.log
(其中%date:~0,10% 為取當(dāng)前系統(tǒng)時(shí)間。0為開始位置,10為結(jié)束位置)

 

復(fù)制代碼代碼如下:

set files=c:/backup/%date:~0,10%.rar
set dbfilesdmp=c:/backup/%date:~0,10%db.dmp
set userdb="jbpmdemo"
set pwddb="jbpmdemo"
set domain="master.jhserver"
set filespath=c:/c/a c:/c/b
set ftpfile="c:/backup/ftp.txt"
set ftpname=admin
set ftppwd=Heroic
set ftpfiles="%date:~0,10%.rar"
set ftpdbfiles="%date:~0,10%db.rar"
set ftpdomain="192.168.0.1"
set rarpath="c:/program files/winrar"

 

@echo 開始備份數(shù)據(jù)庫(kù)
exp %userdb%/%pwddb%@%domain% file="%dbfilesdmp%"

@echo 開始?jí)嚎s文件
c:
cd c:/program files/winrar
rar a -r -y %files% %filespath% %dbfilesdmp%

@echo 寫入文件ftp
@echo %ftpname%>%ftpfile%
@echo %ftppwd%>>%ftpfile%
@echo put %files% %ftpfiles%>>%ftpfile%
@echo bye>>%ftpfile%
@echo 上傳%files%.rar文件
ftp -s:%ftpfile% 192.168.0.1
del /f /q %files%

 

數(shù)據(jù)庫(kù)異地備份對(duì)一個(gè)網(wǎng)站來(lái)說(shuō)是非常必要的,這里談一下使用批處理文件對(duì)數(shù)據(jù)庫(kù)異地本份的過(guò)程,首先需要準(zhǔn)備兩個(gè)文件,一個(gè)是ftp.txt(存儲(chǔ)ftp命令),一個(gè)是movefile.bat(存儲(chǔ)dos命令). 

==========ftp.txt 
open 服務(wù)器的ip地址 
ftp用戶名 
ftp密碼 
bin 
get 數(shù)據(jù)庫(kù)名.mdb 
bye 
quit 
上面是簡(jiǎn)單的例子,具體的要看你的數(shù)據(jù)庫(kù)存放的路徑、一次性獲得多個(gè)文件。可以加上cd,mget等f(wàn)tp命令 
==========movefile.bat 
@echo off 
ftp -i -s:ftp.txt 
rem date format is "YYYY-MM-DD" 
set dt=%date:~0,10% 
set td=%date:~0,10% 

rem set /P dt="Input Date: " 
rem set /P td="Input Date: " 

set i=1 

:forok 
if %i%==1 goto i01 
if %i%==2 goto i02 
if %i%==3 goto i03 
if %i%==4 goto i04 
if %i%==5 goto i05 
:i01 
set i=2 
goto nextok 
:i02 
set i=3 
goto nextok 
:i03 
set i=4 
goto nextok 
:i04 
set i=5 
goto nextok 
:i05 
set i=6 
goto nextok 
:nextok 

set dy=%dt:~0,4% 
set dm=%dt:~5,2% 
set dd=%dt:~8,2% 

if %dm%%dd%==0101 goto L01 
if %dm%%dd%==0201 goto L02 
if %dm%%dd%==0301 goto L07 
if %dm%%dd%==0401 goto L02 
if %dm%%dd%==0501 goto L04 
if %dm%%dd%==0601 goto L02 
if %dm%%dd%==0701 goto L04 
if %dm%%dd%==0801 goto L02 
if %dm%%dd%==0901 goto L02 
if %dm%%dd%==1001 goto L05 
if %dm%%dd%==1101 goto L03 
if %dm%%dd%==1201 goto L06 

if %dd%==02 goto L10 
if %dd%==03 goto L10 
if %dd%==04 goto L10 
if %dd%==05 goto L10 
if %dd%==06 goto L10 
if %dd%==07 goto L10 
if %dd%==08 goto L10 
if %dd%==09 goto L10 
if %dd%==10 goto L11 
set /A dd=dd-1 
set dt=%dy%-%dm%-%dd% 
goto END 
:L10 
set /A dd=%dd:~1,1%-1 
set dt=%dy%-%dm%-0%dd% 
goto END 
:L11 
set dt=%dy%-%dm%-09 
goto END 

:L02 
set /A dm=%dm:~1,1%-1 
set dt=%dy%-0%dm%-31 
goto END 
:L04 
set /A dm=dm-1 
set dt=%dy%-0%dm%-30 
goto END 

:L05 
set dt=%dy%-09-30 
goto END 
:L03 
set dt=%dy%-10-31 
goto END 
:L06 
set dt=%dy%-11-30 
goto END 
:L01 
set /A dy=dy-1 
set dt=%dy%-12-31 
goto END 

:L07 
set /A "dd=dy%%4" 
if not %dd%==0 goto L08 
set /A "dd=dy%%100" 
if not %dd%==0 goto L09 
set /A "dd=dy%%400" 
if %dd%==0 goto L09 
:L08 
set dt=%dy%-02-28 
goto END 
:L09 
set dt=%dy%-02-29 
goto END 

:END 
if %i%==2 goto forok 
if %i%==3 goto forok 
if %i%==4 goto forok 
if %i%==5 goto forok 
if %i%==6 goto mdb 

:mdb 
echo copy %td% 
echo del %dt% 
copy 數(shù)據(jù)庫(kù)名.mdb "%td%".mdb 
del "%dt%".mdb 
上面是備份最近5天的數(shù)據(jù),每天一個(gè)。你可以修改上面的代碼到最近6、7。。。。n天 

如:修改成6天 
if %i%==5 goto i05 下增加 
if %i%==6 goto i06 
:i05 
set i=6 
goto nextok 下增加 
:i06 
set i=7 
goto nextok  
if %i%==6 goto mdb 改為 
if %i%==6 goto forok 
if %i%==7 goto mdb 

依次類推。。。。到n天 :-) 

以上兩個(gè)文件準(zhǔn)備好了,我們可以使用windows自帶的任務(wù)計(jì)劃來(lái)計(jì)劃程序每天自動(dòng)去備份數(shù)據(jù)了 

具體步驟:控制面板--》任務(wù)計(jì)劃--》添加任務(wù)計(jì)劃。。。。選擇每天。。。選擇movefile.bat 
就ok了。 

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 太谷县| 昌邑市| 青州市| 广德县| 长治市| 大兴区| 湖口县| 时尚| 永德县| 盐边县| 肥东县| 道孚县| 兴文县| 银川市| 平湖市| 时尚| 酒泉市| 治多县| 土默特左旗| 绵阳市| 横峰县| 洛隆县| 泰和县| 淳化县| 蓝山县| 陵川县| 平湖市| 平利县| 福建省| 隆林| 辉南县| 苍山县| 新宁县| 日土县| 河南省| 政和县| 温泉县| 上蔡县| 宣化县| 秭归县| 菏泽市|