Автоматическое архивирование
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
SYSDBA (обсуждение | вклад) |
||
Строка 28: | Строка 28: | ||
Do While oExec.Status = 0 | Do While oExec.Status = 0 | ||
+ | WinAPI.Sleep 200 | ||
Loop | Loop | ||
Текущая версия на 13:15, 13 декабря 2023
Ниже прилагается текст макроса на VBScript, предназначенного для автоматического архивирования базы данных. Данный скрипт сохраняется в отдельном файле с расширением .VBS и указывается как исполняемый модуль в окне "Назначенные задания" (стандратная программа Windows для выполнения какого-то приложения по расписанию).
' Данный script предназначен для организации автоматического архивирования ' файл прописывается на сервере в назначенных заданиях, где указывается ' частота его запуска. Dim WshShell, oExec, Line, FileName, FromPath, ToPath FromPath = "D:\Gedemin\Database\" ' Путь к базе данных ToPath = "D:\Gedemin\Database\" ' Путь где будут создаваться архивы Set WshShell = CreateObject("WScript.Shell") ' Создание команды для архивирования базы с помощью ' утилиты gbak. ' Обратите внимание, что имя базы, архивного файла, путь ' к папке Firebird прописаны непосредственно в тексте ' команды. Не забудьте заменить их на ваши значения. FileName = ToPath & "gdbase" & YEAR(DATE) & "_" & MONTH(DATE) & "_" &_ DAY(DATE) & "_" & HOUR(TIME) & "_" & Minute(TIME) Line = """c:\program files\firebird\bin\gbak.exe"" -b localhost:" & FromPath & "gdbase.fdb " &_ FileName & ".bk" & " -user SYSDBA -password masterkey" Set oExec = WshShell.Exec(LINE) Do While oExec.Status = 0 WinAPI.Sleep 200 Loop ' Если вы пользуетесь для архивирование программой rar можно откоментировать данную строку и в каталог ' с архивом положить файл rar.exe, если пользуетесь другим архиватором то меняете ниже rar a -df на свой ' архиватор со своими опциями комадной строки ' Архивирование backup с удалением (для экономии места) ' Line = ToPath & "rar.exe a -df " & FileName & ".rar " & FileName & ".bk" ' Set oExec = WshShell.Exec(LINE)