Автоматическое архивирование
Материал из GedeminWiki
(Различия между версиями)
SYSDBA (обсуждение | вклад) |
|||
| (не показаны 5 промежуточных версий 1 участника) | |||
| Строка 1: | Строка 1: | ||
| − | Ниже прилагается текст макроса | + | Ниже прилагается текст макроса на [[VBScript]], предназначенного для автоматического |
| − | архивирования базы данных. Данный скрипт сохраняется в отдельном файле и указывается как исполняемый модуль | + | архивирования базы данных. Данный скрипт сохраняется в отдельном файле с расширением .VBS и указывается как исполняемый модуль |
| − | в "Назначенные задания" | + | в окне "Назначенные задания" (стандратная программа Windows для выполнения какого-то приложения по расписанию). |
| − | + | ||
| − | + | ||
| + | <source lang="vbnet"> | ||
' Данный script предназначен для организации автоматического архивирования | ' Данный script предназначен для организации автоматического архивирования | ||
' файл прописывается на сервере в назначенных заданиях, где указывается | ' файл прописывается на сервере в назначенных заданиях, где указывается | ||
' частота его запуска. | ' частота его запуска. | ||
| − | + | Dim WshShell, oExec, Line, FileName, FromPath, ToPath | |
| − | + | ||
| − | FromPath | + | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | ToPath | + | |
| + | FromPath = "D:\Gedemin\Database\" ' Путь к базе данных | ||
| + | ToPath = "D:\Gedemin\Database\" ' Путь где будут создаваться архивы | ||
Set WshShell = CreateObject("WScript.Shell") | Set WshShell = CreateObject("WScript.Shell") | ||
| − | + | ' Создание команды для архивирования базы с помощью | |
| − | ' Создание | + | ' утилиты gbak. |
| − | FileName = ToPath & "gdbase" & | + | ' Обратите внимание, что имя базы, архивного файла, путь |
| − | + | ' к папке Firebird прописаны непосредственно в тексте | |
| − | Line = | + | ' команды. Не забудьте заменить их на ваши значения. |
| + | 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) | Set oExec = WshShell.Exec(LINE) | ||
Do While oExec.Status = 0 | Do While oExec.Status = 0 | ||
| + | WinAPI.Sleep 200 | ||
Loop | Loop | ||
| − | |||
' Если вы пользуетесь для архивирование программой rar можно откоментировать данную строку и в каталог | ' Если вы пользуетесь для архивирование программой rar можно откоментировать данную строку и в каталог | ||
| Строка 36: | Строка 35: | ||
' архиватор со своими опциями комадной строки | ' архиватор со своими опциями комадной строки | ||
| − | ' Архивирование backup с удалением | + | ' Архивирование backup с удалением (для экономии места) |
' Line = ToPath & "rar.exe a -df " & FileName & ".rar " & FileName & ".bk" | ' Line = ToPath & "rar.exe a -df " & FileName & ".rar " & FileName & ".bk" | ||
| − | |||
' Set oExec = WshShell.Exec(LINE) | ' Set oExec = WshShell.Exec(LINE) | ||
| + | </source> | ||
| − | + | [[Category:Школа системного администратора]] | |
Текущая версия на 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)