windows下postgresql和oracle数据库自动备份命令

postgtesql备份
https://blog.csdn.net/cn_yaojin/article/details/82781621
文件存储为.bat

@ECHO OFF
@setlocal enableextensions
@cd /d "%~dp0"
SET PGPATH=E:\PostgreSQL\9.5\bin\pg_dump.exe
SET SVPATH=E:\rfwg_beifen\
SET PRJDB=postgis_rfwg
SET DBUSR=postgres
SET DBROLE=postgres
SET PGPASSWORD=Rfwg@123
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%.dump
@ECHO OFF
%PGPATH% -h localhost -p 5432 -U %DBUSR% --role %DBROLE% -w -F c -b -v -f %SVPATH%%DBDUMP% %PRJDB% 
echo Backup Taken Complete %SVPATH%%DBDUMP%

删除十天前数据
参考链接:https://www.shangmayuan.com/a/159da14433424eb5a6f2f163.html

forfiles /p "D:\迅雷下载\任务组_20210623_1417" /d -10 /c "cmd /c echo deleting @file ... && del /f @path" 

可以用代码或者windows的定时命令来执行
windows的执行命令参考链接:https://jingyan.baidu.com/article/39810a2396cef6b637fda67c.html

oracle备份

@echo off
echo ================================================ 
echo  Windows环境下Oracle数据库的自动备份脚本
echo  1. 使用当前日期命名备份文件。
echo  2. 自动删除30天前的备份。
echo ================================================
::以“YYYYMMDD”格式取出当前时间。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
set CURTIME=%time:~0,2%
REM 小时数如果小于10,则在前面补0
if "%CURTIME%"==" 0" set CURTIME=00
if "%CURTIME%"==" 1" set CURTIME=01
if "%CURTIME%"==" 2" set CURTIME=02
if "%CURTIME%"==" 3" set CURTIME=03
if "%CURTIME%"==" 4" set CURTIME=04
if "%CURTIME%"==" 5" set CURTIME=05
if "%CURTIME%"==" 6" set CURTIME=06
if "%CURTIME%"==" 7" set CURTIME=07
if "%CURTIME%"==" 8" set CURTIME=08
if "%CURTIME%"==" 9" set CURTIME=09
set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%

::设置用户名、密码和要备份的数据库。
set USER=two
set PASSWORD=123456
set DATABASE=localhost:1521/orcl
::创建备份目录。
if not exist "D:\test\backup\data\%BACKUPDATE% "     mkdir D:\test\backup\data\%BACKUPDATE%
if not exist "D:\test\backup\log\%BACKUPDATE% "      mkdir D:\test\backup\log\%BACKUPDATE%
set DATADIR=D:\test\backup\data\%BACKUPDATE%
set LOGDIR=D:\test\backup\log\%BACKUPDATE%
exp %USER%/%PASSWORD%@%DATABASE%  file=%DATADIR%\%USER%_%BACKUPDATE%%CURTIME%.dmp log=%LOGDIR%\log_%BACKUPDATE%%CURTIME%.log
::删除30天前的备份。
forfiles /p "%DATADIR%" /s /m *.* /d -30 /c "cmd /c del @path"
forfiles /p "%LOGDIR%" /s /m *.* /d -30 /c "cmd /c del @path"
exit
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值