Архивирование в AWS Glacier (часть 5)

Опубликовано: 27.07.2017
Автор: Виталий Бочкарев
Поддержать автора статьи по этой ссылке

В этой заметке рассказывается о базе данных для регистрации архивов, вспомогательных командных файлах и расписании запусков скриптов.

Скрипт для создания таблицы, в которую записывается информация об архивах:

USE [AWS-Glacier]
GO

/****** Object:  Table [dbo].[agc-prod]    Script Date: 7/27/2017 9:49:56 AM ******/
SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[archive-2017](
   [id] [int] IDENTITY(1,1) NOT NULL,
   [archive-name] [nvarchar](255) NULL,
   [aws-account-id] [nvarchar](255) NULL,
   [aws-vault-name] [nvarchar](255) NULL,
   [aws-archive-id] [nvarchar](255) NULL,
   [archive-content] [ntext] NULL,
   [creation-timestamp] [datetime] NULL,
   [last-access-timestamp] [datetime] NULL,
   [state] [nvarchar](255) NULL,
   [notice] [nvarchar](255) NULL,
CONSTRAINT [PK_Glacier-Content] PRIMARY KEY CLUSTERED
(
   [id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

GO

Скрипт запуска скрипта архивирования и копирования в облако - AWS-1-BackupAndTransfer.cmd:

powershell.exe "%~DP0Process-AWSGlacierBackup-Prod.ps1"
powershell.exe "%~DP0Process-AWSGlacierBackup-Serv.ps1"

Скрипт запуска скрипта инвентаризации - AWS-2-Inventory.cmd:

powershell.exe "%~DP0Process-AWSGlacierInventory-Prod.ps1"
powershell.exe "%~DP0Process-AWSGlacierInventory-Serv.ps1"

Скрипт запуска скрипта сверки архивов на сервере и в облаке - AWS-3-Checking.cmd:

powershell.exe "%~DP0Process-AWSGlacierChecking-Prod.ps1"
powershell.exe "%~DP0Process-AWSGlacierChecking-Serv.ps1"

Все три вышеописанных скрипта необходимо поставить в планировщик запуска задач на сервере. Я рекомендую запускать скрипты по такому расписанию:

  • Пятница после рабочего дня - AWS-1-BackupAndTransfer.cmd
  • Воскресенье в середине дня - AWS-2-Inventory.cmd
  • Понедельник перед рабочим днем - AWS-3-Checking.cmd

Все задания нужно запускать с повышенными привилегиями (RunLevel = HighestAvailable) и от имени системы NT AUTHORITY\SYSTEM (UserId = S-1-5-18).

Метки