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
Комментарии
RSS лента комментариев этой записи