程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> 其他數據庫知識 >> 更多數據庫知識 >> 在Windows下自動備份PostgreSQL的教程

在Windows下自動備份PostgreSQL的教程

編輯:更多數據庫知識

背景
在我工作上一個使用PostgreSQL數據庫的項目上需要一個自動化系統來每天執行備份。經過一番研究決定通過創建一個Windows批處理文件並添加到Windows計劃任務中來實現。
下面是具體步驟:

怎樣配置
第一步:
下載批處理文件。

第二步:
你可以通過一個簡單的命令(schtasks /?查看幫助)或者使用圖形界面(開始-控制面板-系統和安全-管理工具-任務計劃程序)運行任務計劃管理工具,還可以在%SYSTEMROOT%\System32目錄下雙擊Taskschd.msc來啟動它。
 
第三步:
你可以通過向導或通過XML文件導入信息來創建基本任務。向導方式創建方法見任務計劃程序幫助,下面介紹下命令行語法:
 

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]
 

查看此命令幫助:
 

schtasks /Create /?

 

如果在Windows防火牆中遠程任務計劃管理被禁用而文件和打印共享被啟用並且遠程注冊表服務正在運行,遠程計算機上將會被創建一個V1任務即使沒有使用參數V1。參數V1表明一個任務對下層系統可見。

使用代碼
腳本:
 

<a href="http://my.oschina.net/echolee1987" target="_blank" rel="nofollow">@ECHO</a> OFF
@setlocal enableextensions<a href="http://my.oschina.net/duini" 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%.sql<a href="http://my.oschina.net/echolee1987" 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 - 要備份的數據庫名
  •     DBUSR - 數據庫用戶名


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved