Автоматическое архивирование

Материал из GedeminWiki
(Различия между версиями)
Перейти к: навигация, поиск
 
(не показаны 2 промежуточные версии 1 участника)
Строка 1: Строка 1:
Ниже прилагается текст макроса написанного на VBScript, предназначенного для проведения автоматического  
+
Ниже прилагается текст макроса на [[VBScript]], предназначенного для автоматического  
архивирования базы данных. Данный скрипт сохраняется в отдельном файле и указывается как исполняемый модуль
+
архивирования базы данных. Данный скрипт сохраняется в отдельном файле с расширением .VBS и указывается как исполняемый модуль
в "Назначенные задания" - стандратная программа Windows для выполнения какого-то приложения по расписанию.
+
в окне "Назначенные задания" (стандратная программа Windows для выполнения какого-то приложения по расписанию).
 
+
<source lang="VB.NET">
+
Dim WshShell, oExec, Line, FileName
+
  
 +
<source lang="vbnet">
 
' Данный script предназначен для организации автоматического архивирования
 
' Данный script предназначен для организации автоматического архивирования
 
' файл прописывается на сервере в назначенных заданиях, где указывается  
 
' файл прописывается на сервере в назначенных заданиях, где указывается  
 
' частота его запуска.
 
' частота его запуска.
  
' Путь к базе данных
+
Dim WshShell, oExec, Line, FileName, FromPath, ToPath
 
+
FromPath = "D:\Gedemin\Database\"
+
 
+
' Путь где будут создаваться архивы
+
 
+
ToPath = "D:\Gedemin\Database\"
+
  
 +
FromPath = "D:\Gedemin\Database\"    ' Путь к базе данных
 +
ToPath  = "D:\Gedemin\Database\"    ' Путь где будут создаваться архивы
  
 
Set WshShell = CreateObject("WScript.Shell")
 
Set WshShell = CreateObject("WScript.Shell")
  
 
+
' Создание команды для архивирования базы с помощью
' Создание backup базы
+
' утилиты gbak.
FileName = ToPath & "gdbase" & CStr(YEAR(DATE)) & "_" & CSTR(MONTH(DATE)) & "_" &_  
+
' Обратите внимание, что имя базы, архивного файла, путь
   CSTR(DAY(DATE)) & "_" & CSTR(HOUR(TIME)) & "_" & CSTR(Minute(TIME))
+
' к папке Firebird прописаны непосредственно в тексте
 
+
' команды. Не забудьте заменить их на ваши значения.
Line = """c:\program files\yaffil\bin\gbak.exe"" -b localhost:" & FromPath & "gdbase.fdb " &_  
+
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"
 
   FileName & ".bk" & " -user SYSDBA -password masterkey"
  
Строка 32: Строка 28:
  
 
Do While oExec.Status = 0
 
Do While oExec.Status = 0
 +
  WinAPI.Sleep 200
 
Loop
 
Loop
  
Строка 38: Строка 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>
 
</source>
  
 
[[Category:Школа системного администратора]]
 
[[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)
Персональные инструменты
Пространства имён

Варианты
Действия
Навигация
Инструменты