背景
在我工作上一個使用PostgreSQL數(shù)據(jù)庫的項目上需要一個自動化系統(tǒng)來每天執(zhí)行備份。經(jīng)過一番研究決定通過創(chuàng)建一個Windows批處理文件并添加到Windows計劃任務(wù)中來實(shí)現(xiàn)。
下面是具體步驟:
怎樣配置
第一步:
下載批處理文件。
第二步:
你可以通過一個簡單的命令(schtasks /?查看幫助)或者使用圖形界面(開始-控制面板-系統(tǒng)和安全-管理工具-任務(wù)計劃程序)運(yùn)行任務(wù)計劃管理工具,還可以在%SYSTEMROOT%\System32目錄下雙擊Taskschd.msc來啟動它。
第三步:
你可以通過向?qū)Щ蛲ㄟ^XML文件導(dǎo)入信息來創(chuàng)建基本任務(wù)。向?qū)Х绞絼?chuàng)建方法見任務(wù)計劃程序幫助,下面介紹下命令行語法:
schtasks /Create [/S system> [/U username> [/P [password>]]]]
[/RU username> [/RP password>]] /SC schedule> [/MO modifier>] [/D day>]
[/M months>] [/I idletime>] /TN taskname> /TR taskrun> [/ST starttime>]
[/RI interval>] [ {/ET endtime> | /DU duration>} [/K] [/XML xmlfile>] [/V1]]
[/SD startdate>] [/ED enddate>] [/IT] [/Z] [/F]
查看此命令幫助:
如果在Windows防火墻中遠(yuǎn)程任務(wù)計劃管理被禁用而文件和打印共享被啟用并且遠(yuǎn)程注冊表服務(wù)正在運(yùn)行,遠(yuǎn)程計算機(jī)上將會被創(chuàng)建一個V1任務(wù)即使沒有使用參數(shù)V1。參數(shù)V1表明一個任務(wù)對下層系統(tǒng)可見。
使用代碼
腳本:
a target="_blank" rel="nofollow">@ECHO/a> OFF
@setlocal enableextensionsa target="_blank" rel="nofollow">@cd/a> /d "%~dp0"
SET PGPATH=C:\"Program Files"\PostgreSQL\9.1\bin\
SET SVPATH=f:\
SET PRJDB=demo
SET DBUSR=postgres
FOR /F "TOKENS=1,2,3 DELIMS=/ " %%i IN ('DATE /T') DO SET d=%%i-%%j-%%k
FOR /F "TOKENS=1,2,3 DELIMS=: " %%i IN ('TIME /T') DO SET t=%%i%%j%%k
SET DBDUMP=%PRJDB%_%d%_%t%.sqla target="_blank" rel="nofollow">@ECHO/a> OFF
%PGPATH%pg_dump -h localhost -p 5432 -U postgres %PRJDB% > %SVPATH%%DBDUMP%
echo Backup Taken Complete %SVPATH%%DBDUMP%
初始值
- PGPATH - PostgreSQL路徑
- SVPATH - 備份文件路徑
- PRJDB - 要備份的數(shù)據(jù)庫名
- DBUSR - 數(shù)據(jù)庫用戶名
您可能感興趣的文章:- 啟動PostgreSQL服務(wù)器 并用pgAdmin連接操作
- PostgreSQL管理工具phpPgAdmin入門指南
- docker環(huán)境下數(shù)據(jù)庫的備份(postgresql, mysql) 實(shí)例代碼
- Postgresql備份和增量恢復(fù)方案
- postgreSQL使用pgAdmin備份服務(wù)器數(shù)據(jù)的方法