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
附件中有我实际操作的批处理供下载
oracle 定时删除3天前的备份数据的更多相关文章
- mysql定时删除当前时间前分钟的数据
mysql定时删除当前时间前分钟的数据 2013-01-31 0个评论 作者:上官车月 收藏 我要投稿 mysql定时删除当前时间前分钟的数据 Sql代码 www.2 ...
- sql server 批量备份数据库及删除N天前的备份数据
很多时候,我们都需要将数据库进行备份,当服务器上数据库较多时,不可能一个数据库创建一个定时任务进行备份,这时,就需要进行批量的数据库备份操作,好了,废话不多说,具体实现语句如下: 1 2 3 4 5 ...
- Linux下通过脚本自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器操作系统:CentOSIP:192.168.0.198端口:1521SID:orclOracle数据库版本:Oracle11gR2 具体操作: 1.root用户登录服务 ...
- Linux下自动备份Oracle数据库并删除指定天数前的备份
说明: Oracle数据库服务器 操作系统:CentOS IP:192.168.0.198 端口:1521 SID:orcl Oracle数据库版本:Oracle11gR2 具体操作: 1.root用 ...
- Windows环境下Oracle数据库的自动备份脚本自动删除30天前的备份
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo ...
- oracle_自动备份用户数据,删除N天前的旧数据(非rman,bat+vbs)
有时数据没有实时备份恢复那么高的安全性需求,但每天 ,或者定期备份表结构 和数据依旧是很有必要的,介绍一种方法 在归档和非归档模式均可使用的自动备份方法. 预期效果是备份用户下的数据含表结构,备份文件 ...
- SqlServer批量备份多个数据库且删除3天前的备份
/******************************************* * 批量备份数据库且删除3天前的备份 ************************************ ...
- Debian下自动备份文件并上传到远程FTP服务器且删除指定日期前的备份Shell脚本
说明: 1.备份目录/home/osyunwei下面所有的文件到/home/osyunweibak里面,并且保存为osyunwei20120701.tar.gz的压缩文件格式(2012_07_01是 ...
- MSSQL Server2012备份所有数据库到网络共享盘上面,并自动删除几天前的备份。。
--要备份到哪一服务的IP网络位置,要提前打开文件夹共享.这里还要输入用户名和密码,下面这一行是建立共享 exec master..xp_cmdshell 'net use \\192.168.8.1 ...
随机推荐
- Swoole系列(一):简介
前言: 实际上作为一名PHP程序员,我很清楚PHP的确有很多局限性,比如Unix系统编程.网络通信编程.异步io,大部分PHPer不懂.PHP界也确实没有这样的东西.Swoole开源项目就是为了弥补P ...
- TP中单字母快捷函数总结
ThinkPHP中有许多使用简便的单字母函数,可以很方便开发者快速的调用,但是字母函数却不方便记忆,本文将所有的字母函数总结一下,以方便以后查找.1.U() URL组装 支持不同URL模式 U($ur ...
- Spring MVC内部资源视图解析器
InternalResourceViewResolver用于将提供的URI解析为实际URI.下面的示例演示如何在Spring Web MVC框架中使用SpringResultViewResolver. ...
- Spring入门之通过注解 处理 数据库事务
用Spring 中的事务写的银行转帐的例子:(环境同上一个贴子) 一.表结构: (create table (id int,username varchar(10),salary int);) 二.文 ...
- 检测进程不存在自动重启shell脚本
#!/bin/bash WORKDIR="/usr/local/gse/gseagent" [[ -d $WORKDIR ]] && { if ! ps aux|g ...
- nginx 日志参数说明
$args #请求中的参数值 $query_string #同 $args $arg_NAME #GET请求中NAME的值 $is_args #如果请求中有参数,值为"?",否则为 ...
- jmeter 响应数据更换显示类型(json、html、text)
.默认情况下是Text格式 2.修改为json格式显示
- PHP中mysql_fetch_row()、mysql_fetch_assoc()和mysql_fetch_array()的联系
总是记不住或者混淆mysql_fetch_row().mysql_fetch_assoc()和mysql_fetch_array()这三个函数的朋友们注意了,今天我在这里给大家总结一下他们之间的关系, ...
- 利用libpcap分析网络上的数据包(入门级)
本文可任意转载,但请保留作者及出处作者:rainfish出处:http://blog.csdn.net/bat603/经过几天的突击,终于明白了怎样在局域网内抓包,这可是我多年来的梦想.首先说说我的学 ...
- 《从零开始学Swift》学习笔记(Day 40)——析构函数
原创文章,欢迎转载.转载请注明:关东升的博客 与构造过程相反,实例最后释放的时候,需要清除一些资源,这个过程就是析构过程.在析构过程中也会调用一种特殊的方法deinit,称为析构函数.析构函数dein ...