首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除旧备份并仅保留一个备份的批处理脚本

删除旧备份并仅保留一个备份的批处理脚本
EN

Stack Overflow用户
提问于 2014-04-24 12:11:39
回答 1查看 289关注 0票数 0

我启动了一个脚本--command=STATISTICS --statdata=SAVEPOINTS > C:\Safepoints.txt,它生成这样的输出。

代码语言:javascript
复制
Page count for each save point version:
  0: version=0, status=3, ts=2014-03-18 16:24:51.764, page count=68861
  1: version=1, status=3, ts=2014-03-18 17:49:25.622, page count=68861
  2: version=2, status=3, ts=2014-03-19 05:00:10.467, page count=68925
  3: version=3, status=2, ts=2014-03-20 14:05:53.267, page count=2744
  4: version=4, status=3, ts=2014-03-20 15:08:40.607, page count=68859
  5: version=5, status=3, ts=2014-03-21 05:00:10.527, page count=68926

我的想法是,要读取C:\Safepoint.txt并检查是否存在多个使用status=3 (完全备份)的文件,而不是保留最新的文件,否则启动如下新命令

代码语言:javascript
复制
--command=DELETE_SAVEPOINTS 0-4

我修改了脚本,如下所示,但它在

> %mytempfile%之后的循环

代码语言:javascript
复制
@echo on

set last=-1

set mytempfile=%TEMP%\%random%.out
%ORACLE%\bin\OracleDatabase.bat --dbtype=ORACLE --database=orca --hostname=test.ora.db --port=5645 --user=sa --password=***** --command=STATISTICS --statdata=SAVEPOINTS > %mytempfile%

for /f "tokens=1 delims=: " %%a in ('type %mytempfile% ^| find "status=3" ') do  set /a last=%%a
for /f "tokens=1 delims=: " %%a in ('type %mytempfile% ^| find "status=3" ') do (
if %last% neq %%a (
 %Oracle%\bin\OracleDatabase.bat --dbtype=ORACLE --database=orca --hostname=test.ora.db --port=5645 --user=sa --password=***** --command=DELETE_SAVEPOINTS %%a
)
) 

del /q %mytempfile%
EN

回答 1

Stack Overflow用户

发布于 2014-04-24 12:27:26

我不知道什么时候要求删除保存点,但是..。

代码语言:javascript
复制
@echo off
set "last=-1"
for /f "tokens=1 delims=: " %%a in ('findstr /l /c:"status=3" safepoint.txt') do set /a "last=%%a-1"
if %last% geq 0 (
    RunWhatEver --command=DELETE_SAVEPOINTS 0-%last%
)

它使用status=3搜索最后一行并检索初始编号。如果它大于或等于0,则会找到一行,并调用脚本将任何内容从0移到上次完全备份之前的保存点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23268531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档