2012-03-06 19:02:31 (Tue);
好みです。
@echo off
cd /d %~dp0
rem ---
rem %APPDATA%\postgresql\pgpass.conf に 以下の1行を追加
rem 172.21.0.1:5432:*:userid:passord
rem [ホスト]:[ポート]:[データベース]:[ユーザ]:[パスワードの形式]
rem ---
SET HOSTNAME=172.21.0.1
SET PORT=5432
SET USERID=userid
SET PASSWD=passord
SET DATABASE=dbname
rem psql.exeにパスを通す
SET PATH=%PATH%;C:\Program Files\pgAdmin III\1.10
SET DT=%DATE:~-10%
SET TM=%TIME:~-11%
SET DTC=%DT:~0,4%%DT:~5,2%%DT:~8,2%
SET TMC=%TM:~0,2%%TM:~3,2%%TM:~6,2%
SET SUFFIX=_BK_%DTC%_%TMC%
rem pgpass.confが無い場合は追加する
IF NOT EXIST "%APPDATA%\postgresql\pgpass.conf" (
ECHO "□□□ not find pgpass.conf"
MKDIR "%APPDATA%\postgresql"
ECHO %HOSTNAME%:%PORT%:*:%USERID%:%PASSWD% > "%APPDATA%\postgresql\pgpass.conf"
)
rem ログを出力する
IF EXIST log (
ECHO backup log...
MOVE log log%SUFFIX%
RMDIR /Q /S log
)
MKDIR log
rem sqlフォルダ内の[.sql]ファイルを実行する
FOR /F "usebackq delims==" %%i IN (`DIR /B sql\*.sql`) DO (
ECHO ■■■ [%%i]
psql.exe -h %HOSTNAME% -p %PORT% -d %DATABASE% -U %USERID% -f sql\%%i > log\%%i.log 2>&1
ECHO □□□ --^> [%ERRORLEVEL%]
)
:EXIT_PROCESS
PAUSE
最終更新:2012年03月06日 19:02