Оба примера скриптов - файлы *.vbs
Класть можно куда угодно, шедулить на ежедневное исполнение.
Ежемесячное архивирование текстовых логов ISA, IIS и MDaemon
Код:
Dim iMonth, iYear
If DatePart("d", Date()) = 1 Then
iMonth = DatePart("m", Date()) - 1
iYear = DatePart("yyyy", Date())
If iMonth = 0 Then
iMonth = 12
iYear = iYear - 1
End If
strMonth = CStr(iMonth)
strYear = CStr(iYear)
If iMonth < 10 Then
strMonth = "0" & strMonth
End If
Set WshShell = CreateObject("WScript.Shell")
Set oExec = WshShell.Exec("""c:\program files\winrar\winrar.exe"" a -m5 -df -ep C:\Logs\Firewall\" & strYear & strMonth & ".rar C:\Logs\Firewall\ISALOG_" & strYear & strMonth & "*.iis")
Do While oExec.Status = 0
WScript.Sleep 100
Loop
Set oExec = WshShell.Exec("""c:\program files\winrar\winrar.exe"" a -m5 -df -ep C:\Logs\WebProxy\" & strYear & strMonth & ".rar C:\Logs\WebProxy\ISALOG_" & strYear & strMonth & "*.iis")
Do While oExec.Status = 0
WScript.Sleep 100
Loop
Set oExec = WshShell.Exec("""c:\program files\winrar\winrar.exe"" a -m5 -df -ep C:\Logs\IIS\W3SVC1\" & strYear & strMonth & ".rar C:\Logs\IIS\W3SVC1\ex" & Right(strYear, 2) & strMonth & "??.log")
Do While oExec.Status = 0
WScript.Sleep 100
Loop
Set oExec = WshShell.Exec("""c:\program files\winrar\winrar.exe"" a -m5 -df -ep C:\Logs\MDaemon\" & strYear & strMonth & ".rar C:\Logs\MDaemon\http-" & strYear & strMonth & "*.log")
Do While oExec.Status = 0
WScript.Sleep 100
Loop
Set oExec = WshShell.Exec("""c:\program files\winrar\winrar.exe"" a -m5 -df -ep C:\Logs\MDaemon\" & strYear & strMonth & ".rar C:\Logs\MDaemon\InstantMessaging-" & strYear & strMonth & "*.log")
Do While oExec.Status = 0
WScript.Sleep 100
Loop
Set oExec = WshShell.Exec("""c:\program files\winrar\winrar.exe"" a -m5 -df -ep C:\Logs\MDaemon\" & strYear & strMonth & ".rar C:\Logs\MDaemon\?Daemon-" & strYear & strMonth & "*.log")
Do While oExec.Status = 0
WScript.Sleep 100
Loop
Set oExec = WshShell.Exec("""c:\program files\winrar\winrar.exe"" a -m5 -df -ep C:\Logs\MDaemon\" & strYear & strMonth & ".rar C:\Logs\MDaemon\WorldClient-" & strYear & strMonth & "*.log")
Do While oExec.Status = 0
WScript.Sleep 100
Loop
End If
Если скрипт запускается первого числа, он архивирует логи предыдущего месяца с последующим удалением их из исходной папки.
Добавлено через 4 минуты
Архивирование баз 1С
Код:
Set WshShell = CreateObject("WScript.Shell")
Dim strCommon
strCommon = """c:\program files\winrar\winrar.exe"" a -m5 -rr -dh -x*.cdx -x\ExtDb\*.* -x*.rar -x*.zip -pPASS -x*.LCK -oc -agYYYYMMDD -ep1 "
Set oExec = WshShell.Exec(strCommon & "E:\1C_Bases\Архивы\DB2009.rar E:\1C_Bases\DB2009\*.*")
Do While oExec.Status = 0
WScript.Sleep 100
Loop
Set oExec = WshShell.Exec(strCommon & "E:\1C_Bases\Архивы\DB2008.rar C:\1cbases\2008 (Торговля)\*.*")
Do While oExec.Status = 0
WScript.Sleep 100
Loop
Обращаю внимание, в строке параметров архивирования задан пароль на создаваемые архивы - PASS
Архивы создаются по маске NNNNNyyyymmdd, где
NNNNN - название архива
yyyymmdd - формат даты в виде год, месяц, день. При такой форме даты архивы упорядочены в хронологическом порядке.