使用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

扫描二维码关注公众号,回复: 9219935 查看本文章

四、时间格式化

%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 
发布了274 篇原创文章 · 获赞 119 · 访问量 29万+

猜你喜欢

转载自blog.csdn.net/qq_31156277/article/details/103655335
今日推荐