Автоматическое архивирование
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) |
||
| Строка 3: | Строка 3: | ||
в "Назначенные задания" - стандратная программа Windows для выполнения какого-то приложения по расписанию. | в "Назначенные задания" - стандратная программа Windows для выполнения какого-то приложения по расписанию. | ||
| − | <source lang=" | + | <source lang="vbnet"> |
Dim WshShell, oExec, Line, FileName | Dim WshShell, oExec, Line, FileName | ||
Версия 16:12, 5 апреля 2010
Ниже прилагается текст макроса написанного на VBScript, предназначенного для проведения автоматического архивирования базы данных. Данный скрипт сохраняется в отдельном файле и указывается как исполняемый модуль в "Назначенные задания" - стандратная программа Windows для выполнения какого-то приложения по расписанию.
Dim WshShell, oExec, Line, FileName ' Данный script предназначен для организации автоматического архивирования ' файл прописывается на сервере в назначенных заданиях, где указывается ' частота его запуска. ' Путь к базе данных FromPath = "D:\Gedemin\Database\" ' Путь где будут создаваться архивы ToPath = "D:\Gedemin\Database\" Set WshShell = CreateObject("WScript.Shell") ' Создание backup базы FileName = ToPath & "gdbase" & CStr(YEAR(DATE)) & "_" & CSTR(MONTH(DATE)) & "_" &_ CSTR(DAY(DATE)) & "_" & CSTR(HOUR(TIME)) & "_" & CSTR(Minute(TIME)) Line = """c:\program files\yaffil\bin\gbak.exe"" -b localhost:" & FromPath & "gdbase.fdb " &_ FileName & ".bk" & " -user SYSDBA -password masterkey" Set oExec = WshShell.Exec(LINE) Do While oExec.Status = 0 Loop ' Если вы пользуетесь для архивирование программой rar можно откоментировать данную строку и в каталог ' с архивом положить файл rar.exe, если пользуетесь другим архиватором то меняете ниже rar a -df на свой ' архиватор со своими опциями комадной строки ' Архивирование backup с удалением его самого для экономии места ' Line = ToPath & "rar.exe a -df " & FileName & ".rar " & FileName & ".bk" ' Set oExec = WshShell.Exec(LINE)