0

0

如何删除SQL2005过期的数据库备份文件呢?

php中文网

php中文网

发布时间:2016-06-07 15:42:12

|

1810人浏览过

|

来源于php中文网

原创

-- 如何删除 SQL2005 过期的数据库备份文件呢? 在 SQL2005 数据库中,不可以自动删除过期的备份文件,所以借用第三方插件完成此功能。 -- 方式一:通过 Forfiles 删除指定目录下过期的备份文件 /*-- 用法详解 D:/forfiles/? FORFILES [/Ppathname] [/M sear

 

海魂高科企业管理系统1.0 修正版
海魂高科企业管理系统1.0 修正版

主要功能如下: 一、系统管理:管理员管理,可以新增管理员及修改管理员密码;数据库备份,为保证您的数据安全本系统采用了数据库备份功能;上传文件管理,管理你增加产品时上传的图片及其他文件。 二、企业信息:可设置修改企业的各类信息及介绍。 三、产品管理:产品类别新增修改管理,产品添加修改以及产品的审核。 四、订单管理:查看订单的详细信息及订单处理。 五、会员管理:查看修改删除会员资料,及锁定解锁

下载

-- 如何删除 SQL2005 过期的数据库备份文件呢?

SQL2005 数据库中,不可以自动删除过期的备份文件,所以借用第三方插件完成此功能。

 

-- 方式一:通过 Forfiles 删除指定目录下过期的备份文件

/*-- 用法详解

D:/>forfiles /?

 

FORFILES [/P pathname] [/M searchmask] [/S]

         [/C command] [/D [+ | -] {yyyy-MM-dd | dd}]

 

描述 :

    选择一个文件 ( 或一组文件 ) 并在那个文件上

    执行一个命令。这有助于批处理作业。

 

参数列表 :

    /P    pathname      表示开始搜索的路径。默认文件夹是当前工作的

                        目录 (.)

 

    /M    searchmask    根据搜索掩码搜索文件。默认搜索掩码是 '*'

 

    /S                  指导 forfiles 递归到子目录。像 "DIR /S"

 

    /C    command       表示为每个文件执行的命令。命令字符串应该

                         用双引号括起来。

 

                        默认命令是 "cmd /c echo @file" 。下列变量

                        可以用在命令字符串中 :

                        @file    - 返回文件名。

                        @fname   - 返回不带扩展名的文件名。

                        @ext     - 只返回文件的扩展。

                        @path    - 返回文件的完整路径。

                        @relpath - 返回文件的相对路径。

                        @isdir   - 如果文件类型是目录,返回 "TRUE"

                                   如果是文件,返回 "FALSE"

                        @fsize   - 以字节为单位返回文件大小。

                         @fdate   - 返回文件上一次修改的日期。

                        @ftime   - 返回文件上一次修改的时间。

 

                        要在命令行包括特殊字符,字符请以 0xHH

                        形式使用十六进制代码 ( 例如, x09 tab)

                        内部 CMD.exe 命令前面应以 "cmd /c" 开始。

 

    /D    date           选择文件,其上一次修改日期大于或等于 (+)

                        或者小于或等于 (-) "yyyy-MM-dd" 格式指定的日期 ;

                        或选择文件,其上一次修改日期大于或等于 (+)

                        当前日期加 "dd" 天,或者小于或等于 (-) 当前

                        日期减 "dd" 天。有效的 "dd" 天数可以是

                         0 - 32768 范围内的任何数字。如果没有指定,

                        "+" 被当作默认符号。

 

    /?                  显示帮助消息。

 

例如 :

    FORFILES /?

    FORFILES

    FORFILES /P C:/WINDOWS /S /M DNS*.* 

       -- 显示 C:/WINDOWS 目录及子目录下 DNS 开头的所有文件名

    FORFILES /S /M *.txt /C "cmd /c type @file | more"

       -- 显示当前目录下所有 TXT 文件的内容

    FORFILES /P C:/ /S /M *.bat 

       -- 显示 C 盘目录下及子目录下所有文件后缀名为 bat 的文件名

    FORFILES /D -30 /M *.exe

       -- 显示当前目录下修改日期小于等于天前的 exe 文件名

             /C "cmd /c echo @path 0x09 30 前就被更改。 " 

                  -- 显示当前目录下所有文件的完整路径并在后面追加 30 前就被更改 的文字

    FORFILES /D 2001-01-01 

       -- 显示当前目录下修改日期大于等于 -01-01 的文件名 ( 含文件夹名 )

             /C "cmd /c echo @fname 2001 年月日就是新的。 " 

                  -- 显示当前目录下所有文件名并在后面追加 30 前就被更改 的文字

    FORFILES /D +2009-8-18 /C "cmd /c echo @fname 今天是新的。 "

       -- 显示当前目录下修改日期大于等于 -8-18 的文件名并在后面追加 今天是新的 的文字

    FORFILES /M *.exe /D +1 

       -- 显示当前目录下修改日期大于等于明天的 exe 文件名

    FORFILES /S /M *.doc /C "cmd /c echo @fname @fsize" 

       -- 显示当前目录及子目录下所有 doc 文件的文件名和文件大小

    FORFILES /M *.txt /C "cmd /c if @isdir==FALSE notepad.exe @file"

       -- 打开当前目录下 txt 文件,不含子文件。 ( 注意变量 isdir 后面的 FALSE 必须为大写 )

 

*/

 

 

目的:删除目录 i: /sqldataup 中天前的 . bak 文件:

步骤:

1 、定义 FORFILES 批处理脚本如下:

C: /> FORFILES / P i: /sqldataup / M *. bak / C "cmd /C del /Q @path" / d - 5

如果执行成功则返回当前盘符 C: />

-- 如果没有需要删除的文件则返回信息错误 : 用指定的搜索标准没有找到文件。比如:

--C:/>FORFILES /P i:/sqldataup /M *.bak /C "cmd /C del /Q @path" /d -5

-- 错误 : 用指定的搜索标准没有找到文件。

 

2 、通过计划任务调用批处理脚本如下图所示:

 

 如何删除SQL2005过期的数据库备份文件呢?

 

3 、当然也可以用 SQLAgent 调用 CMDEXEC 完成批处理作业。

比如新建作业定时执行下面语句即可

 

/* -- 因为 SQL2005 默认是没有开启 'xp_cmdshell' 组件,开启方法如下

sp_configure 'show advanced options',1

reconfigure

go

sp_configure 'xp_cmdshell',1

reconfigure

go

*/

EXEC xp_cmdshell 'FORFILES /P i:/sqldataup /M *.bak /C "cmd /C del /Q @path" /d -5'

至于如何新建作业并利用SSIS包制定控制流,参考文章 。

 

方式二:如果在 SQL2008 中因为默认安装 Powershell 1.0 程序,故可以用 Powershell 编写脚本来完成定时删除过期文件。

在windows中文站版主Anders 的确认下,PS中脚本如下:

 

PS I:/> $Time= (get-date).AddDAYS(-7)

PS I:/> ri i:/sqldataup/*.bak | ?{$_.LastWriteTime=$Time}

 



相关专题

更多
虚拟号码教程汇总
虚拟号码教程汇总

本专题整合了虚拟号码接收验证码相关教程,阅读下面的文章了解更多详细操作。

29

2025.12.25

错误代码dns_probe_possible
错误代码dns_probe_possible

本专题整合了电脑无法打开网页显示错误代码dns_probe_possible解决方法,阅读专题下面的文章了解更多处理方案。

20

2025.12.25

网页undefined啥意思
网页undefined啥意思

本专题整合了undefined相关内容,阅读下面的文章了解更多详细内容。后续继续更新。

37

2025.12.25

word转换成ppt教程大全
word转换成ppt教程大全

本专题整合了word转换成ppt教程,阅读专题下面的文章了解更多详细操作。

6

2025.12.25

msvcp140.dll丢失相关教程
msvcp140.dll丢失相关教程

本专题整合了msvcp140.dll丢失相关解决方法,阅读专题下面的文章了解更多详细操作。

2

2025.12.25

笔记本电脑卡反应很慢处理方法汇总
笔记本电脑卡反应很慢处理方法汇总

本专题整合了笔记本电脑卡反应慢解决方法,阅读专题下面的文章了解更多详细内容。

6

2025.12.25

微信调黑色模式教程
微信调黑色模式教程

本专题整合了微信调黑色模式教程,阅读下面的文章了解更多详细内容。

5

2025.12.25

ps入门教程
ps入门教程

本专题整合了ps相关教程,阅读下面的文章了解更多详细内容。

4

2025.12.25

苹果官网入口直接访问
苹果官网入口直接访问

苹果官网直接访问入口是https://www.apple.com/cn/,该页面具备0.8秒首屏渲染、HTTP/3与Brotli加速、WebP+AVIF双格式图片、免登录浏览全参数等特性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

218

2025.12.24

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
C# 教程
C# 教程

共94课时 | 5.3万人学习

ASP 教程
ASP 教程

共34课时 | 2.8万人学习

SQL 教程
SQL 教程

共61课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号