定时删除过期备份文件
2011-09-02 17:29
232 查看
通过维护工作做的维护计划,向导中有过期选项,经过我的试验确实到过期时间没有删除备份文件,不知道什么原因,2000以前版本是可以的,不知道2008 为什么不可以。想通过SSIS中的FOR EACH 遍历文件夹,获取文件名,通过文件创建属性,在调用文件系统任务来删除过期文件,因为我对SSIS不熟所以没有做成,看了网上很多文章,最终还是不知所以。最终实现还是通过bat来实现的。
BAT的关键语句如下:
@echo off
forfiles /P g:\测试过期删除\test /S /M *.bak /C "cmd /c del /Q @path" /D 0
遍历 g:\测试过期删除\test " /P g:\测试过期删除\test " 下所有子文件夹/S 中扩展名为*.bak的文件/M *.bak ,执行删除命令/C "cmd /c del /Q @path" ,条件为当天/D 0
BAT文件内容前要加入@echo off
经过测试如果不加@echo off 当语句没有查找到符合条件的记录时,调用BAT文件的包会报错。切记切记
接下来的步骤:
1.创建SSIS项目,新建包
2.加入执行进程任务,双击选择处理,在EXECUABLE中选择BAT文件
3.保存包,右键包属性查看包得存放路径
4.打开SSMS,连接中选择智能服务,MSDB中导入包,执行一下没有问题就OK
5.在SQL AGENT里新建JOB ,在步骤类型里选择智能服务,计划里设定要执行的时间间隔就OK了
要下班了 写的比较简,没有试出来怎么用SSIS来删除过期文件还是比较遗憾,怎么删除文件倒是试出来了,问题是我有删除条件,不知道怎么办了。好遗憾好遗憾,还好要发工资啦啦啦啦
BAT的关键语句如下:
@echo off
forfiles /P g:\测试过期删除\test /S /M *.bak /C "cmd /c del /Q @path" /D 0
遍历 g:\测试过期删除\test " /P g:\测试过期删除\test " 下所有子文件夹/S 中扩展名为*.bak的文件/M *.bak ,执行删除命令/C "cmd /c del /Q @path" ,条件为当天/D 0
BAT文件内容前要加入@echo off
经过测试如果不加@echo off 当语句没有查找到符合条件的记录时,调用BAT文件的包会报错。切记切记
接下来的步骤:
1.创建SSIS项目,新建包
2.加入执行进程任务,双击选择处理,在EXECUABLE中选择BAT文件
3.保存包,右键包属性查看包得存放路径
4.打开SSMS,连接中选择智能服务,MSDB中导入包,执行一下没有问题就OK
5.在SQL AGENT里新建JOB ,在步骤类型里选择智能服务,计划里设定要执行的时间间隔就OK了
要下班了 写的比较简,没有试出来怎么用SSIS来删除过期文件还是比较遗憾,怎么删除文件倒是试出来了,问题是我有删除条件,不知道怎么办了。好遗憾好遗憾,还好要发工资啦啦啦啦
相关文章推荐
- crontab定时任务打包备份文件并删除过期文件
- Window bat expdp 定时任务逻辑备份 定时删除N天前的旧文件
- 如何删除过期的数据库备份文件呢? .
- Linux下定时删除过期文件的方法
- (windows)python脚本:自动备份并压缩文件,同时删除过期文件
- SQL定时备份并删除过期备份
- linux定时备份MySQL数据库并删除七天前的备份文件
- Linux定时备份文件系统,并删除7天前的备份文件
- 用语句来创建多个数据库的备份、删除过期文件作业
- 定时脚本: 删除HDFS中的过期文件
- Sql Server 备份文件管理(自动删除、过期)
- Linux shell crontab expdp 定时任务逻辑备份 定时删除旧文件
- sql server2008R2自动备份和自动删除过期bak文件
- windows下oracle定时备份和删除备份文件
- sqlserver2008清除维护任务不能删除过期备份文件问题的解决
- 文件、目录备份及定时自动删除
- Linux定时删除过期文件
- java定时备份mysql,定时ftp上传,下载,删除,重命名,文件(改)
- Centos自动删除过期备份或者文件
- 在Windows下利用PowerShell脚本定时删除过期文件