×¼±¸¹¤¾ß£º
SqlServer2008
WinRar
1.¸øSqlServerÉèÖÃά»¤¼Æ»®¶¨Ê±±¸·Ý
Õâ¸ö²Ù×÷±È½Ï¼òµ¥£¬°´Ïòµ¼ÐÂÔöά»¤¼Æ»®¼´¿É¡£

2.×Ô¶¯Ñ¹Ëõ½Å±¾
c:\Progra~2\WinRar\winRar.exe a D:\bak\database_buckup_%date:~0,4%_%date:~5,2%_%date:~8,2% d:\bak\database_*%date:~0,4%_%date:~5,2%_%date:~8,2%_*.bak
±¸·ÝÎļþµÄ¸ñʽÊÇ£ºdatabase_backup_2015_05_15_010001_5555338.bak£¬
ѹËõÎļþ¸ñʽÊÇ£ºdata_2015_06_15.rarÕâÖÖÑùʽ¡£
3.×Ô¶¯É¾³ý¾ÉµÄ±¸·Ý
ÉèÖÃÒ»¸ö¼Æ»®ÈÎÎñ£¬ÔÚѹËõǰ°ÑÀϵı¸·Ýɾ³ý¡£ÕâÀïͨ¹ýbat½Å±¾µ÷ÓÃvbs½Å±¾£¬ÒòΪvbs½Å±¾Ïà¶ÔºÃдһµã¡£
autoDeleteOld.bat
cscript d:/bak/autoDeleteOldBak.vbs
autoDeleteOldBak.vbs
const reMainCount = 1 '±£Áô¼¸day
Dim fso,dc,file,files,folder,subfolders,subfolder
set fso=createobject("Scripting.FileSystemObject")
set folder=fso.getfolder("D:\bak")
Dim today
today=Now
for each tempFile in folder.files
dim arr
arr=Split( tempFile,"_backup_")
if UBound(arr)>0 then
dim tempDate,diff
tempDate=Cdate( Replace( Left(arr(1),10),"_","-"))
diff= DateDiff("d",tempDate,today)
if (diff>reMainCount) then
fso.deleteFile(tempFile),true
end if
end if
next
set fso=nothing
Èç¹ûÁíÍâÓÐftp·þÎñÆ÷£¬¿ÉÒÔѹËõÎļþºó£¬Ô¶³Ìͬ²½µ½Áíһ̨·þÎñÆ÷ÉÏ¡£