日期:2014-05-17  浏览次数:20766 次

windows2003 删除几天前的sql文件
本帖最后由 k_scott 于 2012-09-24 10:31:26 编辑
我的自动备份SQL如下:


@echo off

set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%
set filename=fb_md_%year%%month%%day%.sql
mysqldump -uroot -ppassword test>f:\%filename%

pause



而且用这个之后我,生成了一个执行计划:如下



@echo off

:: ------- 配置项 -------

:: 要执行的文件名
set FILE=D:\db_backup.bat

:: 计划频率类型
set FREQUENCY=DAILY

:: 频率,与上面的计划频率类型对应
set MODIFIER=1

:: 该计划执行的时间(24 小时制)
set DATETIME=00:30:00

:: 计划的名字
set NAME="Backup Cron Job"

:: 计划执行用户,不建议修改
set USER="System"

:: ------- 以下请勿修改 -------
 
schtasks /Create /RU %USER% /SC %FREQUENCY% /MO %MODIFIER% /ST %DATETIME% /TN %NAME% /TR %FILE%
pause



请帮弄一个或者在备份时候就直接删除7天前的。我要保留最新的数据一个星期
------解决方案--------------------
用SQL Server 自带的备份计划啊。
------解决方案--------------------
@echo off

setlocal enabledelayedexpansion

set year=%date:~0,4% 
set month=%date:~5,2% 
set day=%date:~8,2% 

echo %year%%month%%day%

if %day% LSS 07 (set/a lastweek_day=30+%day%-7 &echo !lastweek_day!& 

set/a last_month=%month%-1 & set last_week=%year%!last_month!!

lastweek_day! &echo !last_week!) else (set/a lastweek_day=%day%-7 & 

set last_month=%month% & set last_week=%year%!last_month!!

lastweek_day! &echo !last_week!)

pause

------解决方案--------------------
记得去年回答过这样的问题,像这样计算日期最好是转换成儒略日在进行计算,给个以前的链接,你直接可以套用,这个帖子是要删除30天以前的,你修改前面的参数为7就行了

http://topic.csdn.net/u/20111117/12/7640c5df-f64a-4a3c-a0ff-fba7b5d32299.html