Windows: удаление устаревших резервных копий

Часто возникает ситуация когда резервное копирование перестает работать из-за отсутствия места на устройстве, предназначенном для хранения резервных копий. Проблему можно решить скриптом, удаляющим устаревшие резервные копии.

Способ 1. Консольная утилита forfiles. Утилита по умолчанию присутствует в Windows server 2003,2008,2012, Windows 7,8.  В Windows XP её нет, но можно использовать версию от Windows Server 2003, просто скопировав exe-файлик в папку system32.

Пример bat-файла.


chcp 1251
forfiles /p "D:\Backup" /m *.dt /d -30 /c "cmd /c del /q /f @file"


Скрипт удаляет из папки D:\Backup файлы с расширением .dt которые не изменялись более 30 дней.

Способ 2. VBS-скрипт.

Текст скипта:


On Error Resume Next
'Удаление в папке всех файлов старше 7 дней.
Set fso = CreateObject("Scripting.FileSystemObject")
'Выставляем количество дней, старше которых будет производится удаление файлов.
olddate = DateAdd("d", -7, date)
WScript.StdOut.WriteLine("Today is " & Date & vbCrLf)
WScript.StdOut.WriteLine("Deleting files unaccessed since " & olddate)
WScript.StdOut.WriteLine(" ")
WScript.stdout.writeline("Connecting to FileShare ")
'Указываем директорию в которой удаляем старые файлы.
Set folder = fso.GetFolder("D:\Backup") ' Get the folder
WScript.StdOut.Writeline("Getting a List of the Files")
Set fc12 = folder.Files
For Each f1 in fc12
If f1.DateLastModified < olddate Then
WScript.StdOut.WriteLine("Removing: " & f1.DateLastModified & vbtab & f1.name)
fso.deletefile(f1)
End If
Next


 

 
1 1 1 1 1 1 1 1 1 1 Рейтинг 0.00 [0 Голоса (ов)]

Комментарии   

 
+1 #1 Иван 02.02.2015 15:54
Спасибо, хорошее решение
Цитировать
 

Добавить комментарий