使用bat 編寫postgresql自動備份腳步

使用bat 編寫postgresql自動備份腳步

背景需求

每天需要手動備份一個數據庫到本地,每次都需要切換的postgresql/bin 下面,創建文件夾,
然後輸入一串的備份命令,再輸入密碼;每天都要這麼做感覺麻煩,所以編寫了一個bat腳步

bat腳步如下:postgresql_backup.bat

set current_path=%~dp0 
::獲取日期時分
set directory=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%
:: 全路徑
set allpath=%current_path%%directory%
:: 去除所有空格
set "allpath=%allpath: =%"
::在當前目錄下創建一個文件夾
md %allpath%

:: fsutil創建一個空文件
fsutil file createnew %allpath%\tenant_1011014.backups 0 

::切換目
E:
cd E:\postgresql\bin

:: 睡1s
ping -n 1 127.0.0.1>nul

::輸入密碼密碼到特定的文件,目的是跳過輸入密碼環節
echo set pws=WScript.CreateObject("WScript.Shell")>%allpath%\pws.vbs
echo pws.SendKeys "123456{ENTER}">>%allpath%\pws.vbs


::清空屏幕操作
cls
::備份數據庫,直接跳過輸入密碼環境
wscript %allpath%\pws.vbs&pg_dump -h  127.0.0.1 -p 5432 -U postgres -F c -b -v -f  %allpath%\tenant_1011014.backups  tenant_1011014

::rem 刪除腳本
del %allpath%\pws.vbs


::輸出不顯示命令
ECHO OFF
CLS
color 0A 
ECHO congratulations, database backup is complete !

timeout 5

:: 退出窗口
exit;

在這裏插入圖片描述

補充一下bat相關命令

一、color

設置顏色: color 0a 設置成綠色

二、 pause

暫停屏幕

三、mk

創建文件夾。例如:在桌面創建一個bat目錄

md C:\Users\Administrator\Desktop\bat

四、時間格式化

%date:~0,4%-%date:~5,2%-%date:~8,2%-%time:~0,2%-%time:~3,2%-%time:~6,2%

%date:~0,4% 表示年 ,例如:2020

%date:~5,2% 表示月, 例如:12

%date:~8,2% 表示日,例如:20

%time:~0,2% 表示小時,例如:22

%time:~3,2% 表示分鐘,例如:32

%time:~6,2% 表示秒,例如:31

例如:

%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%

20191220223313

五、註釋

:: 表示註釋

六、設置變量

set date=%date% 
::使用變量時需要使用兩個%
echo %date%

七、創建一個空文件

:: 在E:盤符下創建一個pg.backups 空文件
fsutil file createnew E:\pg.backups 0 

八、當前目錄

:: 當前目錄
%cd%
:: bat文件運行所在目錄
%~dp0 

九、去除所有空格

set str= h z y           
set "str=%str: =%"
:: 去除後爲 hzy

十、創建一個空文件

fsutil file createnew  filename 0 
例如:
fsutil file createnew %allpath%\tenant_1011014.backups 0 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章