oracle 定时删除3天前的备份数据
不需要保留那么多,按公司要求只需要保留一个星期的即可。
1.那么有什么方法自动删除7天以前备份的*.log文件呢?
2.服务器过多,不可能一一手动创建,有没有自动完成这个创建计划任务的批处理呢?
首先要解决的是自动删除7天以前备份的log文件,然后创建一个可以自动创建一个每
周指定日期指定时间运行一次该自动删除的批处理
一:删除7天以前备份的文件
命令
FORFILES [/P pathname] [/M searchmask] [/S]
[/C command] [/D [+ | -] {yyyy-MM-dd | dd}]
方法1:
描述:可以删除7天以前的后缀名为log的日志文件。如今天是6.29,那么会删除6.22
号以前创建的文件。不会删除到回收站。
指定路径为要删除的文件夹路径,该批处理可以放在任意文件夹下。
forfiles /p D:/aizzw/LOG /m *.log -d -7 /c "cmd /c del /f @path"
参数解释:
这里的/p 指的是要删除的备份文件路径
/m 指的是要匹配的字符,通配符为*号,后缀名可以根据实际情况修改。
如zzw*.log;*.bak;*.txt
-d 指的是日期,“-d -7”指的是从但前日期当前日期往前减7天。
/c 指的是执行命令
@path 返回文件完整路径
方法2:
描述:可以删除7天以前的后缀名为log的日志文件。
不需要指定路径,必须放在要删除日志的文件下。删除当前文件夹下的匹配文件。
forfiles /m *.log -d -7 /c "cmd /c del /f @path"
以上批处理已经在windows 2003的虚拟机上测试通过
方法3:
为网友提供,可适用于xp,2000,而forfiles默认只有2003以上的系统才有。
::删除F:/文件备份里的 7天前的txt文件
::被删除的文件日期以文件创建日期为主
@echo off
::取7天之前的日期.
>deldata_zw.zhu.vbs echo wscript.echo dateadd("d",-7,date)
for /f "tokens=1,2,3* delims=-" %%i in ('cscript /nologo deldata_zw.zhu.vbs') do (
set y=%%i
set m=%%j
set d=%%k
)
if %m% LSS 10 set m=0%m%
if %d% LSS 10 set d=0%d%
set rq=%y%-%m%-%d%
echo 注意:即将删除 %rq% 以前建立的文件
pause
::判断文件
for /f "skip=4 delims=" %%i in ('dir/tc F:/TEST/*.log') do call :w "%%i"
del deldata_zw.zhu.vbs
goto :eof
:w
for /f "tokens=4 delims= " %%a in (%1) do set str=%%a
set var=%1
set num=%var:~1,10%
if %num% lss %rq% del /q F:/TEST/%str%
二:自动创建每周运行一次的计划任务
创建计划任务可用at,schtasks命令,schtasks提供了很多参数
命令schtasks
SCHTASKS /Create [/S system [/U username [/P [password]]]]
[/RU username [/RP password]] /SC schedule [/MO modifier] [/D day]
[/M months] [/I idletime] /TN taskname /TR taskrun [/ST starttime]
[/RI interval] [ {/ET endtime | /DU duration} [/K] ]
[/SD startdate] [/ED enddate] [/IT] [/Z] [/F]
方法:
@echo off
schtasks /create /tn "Del-7_log" /ru system /tr D:/aizzw/del-7.bat /sc
weekly /d mon /st 01:00
start %systemroot%/tasks
echo 创建成功,请检查...
pause
del /f Create.bat
参数解释:
schtasks /create 指的是创建计划任务
/tn 指定计划任务的名称
/ru 指定运行该批处理的账号,如果去掉该参数则默认为当前账户运行,会提示输入密码。
一个计划任务所用的账号如果密码变动后该批处理就不再会运行成功
所以我这里使用系统账号system,密码就省略不写。
/rp 指定账号的密码
/tr 指定程序所在路径,这里为指定要执行的批处理存放路径。
/sc 为指定运行的周期
/d 为日期.这里mon为英文单词缩写,周一
/st 为运行时间
start %systemroot%/tasks 这一句只是为了弹出计划任务窗口查看创建成功与否
del /f Create.bat 为创建完成后自动删除创建该计划任务的批处理
schtasks命令详细解释可以参见微软的
http://technet.microsoft.com/zh-cn/cc772785 (WS.10).aspx#BKMK_create
附件中有我实际操作的批处理供下载
最新文章
- innobackupex --rsync 报错 Error: can't create file (null)/xtrabackup_rsyncfiles_pass1
- 使用QTP测试Web对象
- v2.0
- Fully differential amplifiers
- BZOJ 3527 力
- MySQL execute dynamic sql script.
- 【HDOJ】1814 Peaceful Commission
- 用css样式,为表格加入边框
- 关于AppStore上传相关问题
- php 汉字转换成拼音
- POI获取Excel列数和行数的方法
- [SinGuLaRiTy] 平衡树
- QT调用百度语音REST API实现语音合成
- android修改HOLO对话框风格
- ";《算法导论》之‘图’";:最小生成树(无向图)
- Windows核心编程第一章.错误处理
- C++入门篇二
- ubuntu下cannot find lib....so.x 寻找动态链接库
- POJ2484
- PowerDesigner 把Comment写到name中 和把name写到Comment中 pd7以后版本可用
热门文章
- 基于consul构建golang系统分布式服务发现机制
- jq serialize 系列化 乱码 解决办法
- bat脚本批处理打war打包
- WPF数据模板样式选择器
- Win API:之GetCurrentThread、GetCurrentThreadId、GetCurrentProcess、GetCurrentProcessId
- Android开发:《Gradle Recipes for Android》阅读笔记(翻译)3.5——在flavors间合并java代码
- 技术总结PHP+微信
- Machine Learning - week 2 - Multivariate Linear Regression
- JavaScript通过preventDefault()使input[type=text]禁止输入但保留光标
- exist &; in