« Arcserve UDP:PC を VPN 経由でバックアップさせない方法 | トップページ | 徹底比較!Arcserve UDP を使ったクラウドへのバックアップ方法 »

2020年4月 7日 (火)

Arcserve UDP:Windows のバックアップを PowerShell から実行する方法

今日は題名の通り PowerShell を使って Arcserve UDP Windows Agent(以下 Windows Agent)でバックアップを実行する方法を紹介します。

以前の記事で Arcserve UDP の PowerShell コマンドは Arcserve UDP コンソール経由で実行されると書きましたが、実は Arcserve UDP v6.5 から Windows Agent 単体でも PowerShell が使えるようになっているんです!

01_udp_powershell

(今回説明するのは下段の方法です。)

 

■ 1:実行モードの確認と変更

早速バックアップしてみたいところですが、その前に Windows PowerShell のコンソールで以下のコマンドを実行して、スクリプト実行ポリシーがどのように設定されているかご確認ください。Windows PowerShell ではセキュリティ確保のため、スクリプトの使用を制限できるようになっています。(詳細は→ Windows PowerShell スクリプトの実行ポリシーの表示

PS > Get-ExecutionPolicy

 

で、この結果が「Restricted」だとスクリプトを実行できないのでポリシーを変更します。以下、設定例です。セキュリティ ポリシーにあった適切な値を設定してください。(参考:Windows PowerShell スクリプトの実行ポリシーの変更

PS > Set-ExecutionPolicy RemoteSigned

 

■ 2:パスワード ファイルを作っておく

バックアップを実行するため Windows Agent にログインする必要があります。Arcserve UDP v6.5 まではログインするユーザーのパスワードを平文で入力できていましたが、Arcserve UDP 7.0 からはパスワードを SecureString 型で扱うようになったので、あらかじめ暗号化されたパスワードファイルを作っておく方が簡単です。

パスワード ファイルを作成するためのコマンド実行例はこちら↓。スクリプトを実行するユーザーでこのコマンドを実行します。ここでは「C:\pass」という名前のパスワードファイルを作っています。

PS > cd 'C:\Program Files\Arcserve\Unified Data Protection\Engine\PowerCLI'
PS > $SecurePassword = Read-Host -AsSecureString (ここで Enter キーを押す)
******** (←パスワードを入力。終わったら Enter キーを押す)
PS > .\UDPPowerCLI.ps1 -command CreatePswFile -Password $SecurePassword -PasswordFile C:\pass

 

■ 3:PowerShell コマンドの実行

ここまで準備ができたら、PowerShell でバックアップを行います。以下実行例です。

PS > cd 'C:\Program Files\Arcserve\Unified Data Protection\Engine\PowerCLI'
PS > .\UDPPowerCLI.ps1 -command Backup -UDPAgentProtocol https -UDPAgentPort 8014 -UDPAgentUserName administrator -UDPAgentPasswordFile C:\pass -backupJobType Incr -backupScheduleType Daily

 

今回利用した、各オプションの説明はこちら↓。

command 実行するコマンドの種類を選びます。ここでは「Backup」を指定します。
UDPAgentProtocol Windows Agent に接続するためのプロトコルを「http」、「https」のいずれかで指定します。
UDPAgentPort Windows Agent のポート番号です。デフォルト値は「8014」です。
UDPAgentUserName Windows Agent にログインするユーザーの名前です。
UDPAgentPasswordFile 先ほど作ったパスワードファイルをフルパスで指定します。
backupJobType バックアップ ジョブの種類を 「Full」(フル)、「Incr」(増分)、「Rsyn」(検証)の中から指定します。
backupScheduleType 任意のオプションです。バックアップ ジョブのスケジュールを「Daily」(毎日)、「Weekly」(毎週)、「Monthly」(毎月)の中から指定できます。GUI であらかじめ設定しているスケジュールを指定してください。これを指定しなければ「カスタム/手動」としてバックアップが行われます。

この中で、Windows Agent 特有なのは「backupScheduleType」です。Arcserve UDP コンソールに接続して実行するバックアップ ジョブは「カスタム/手動」という扱いになりますが、Windows Agent では「毎日」「毎週」「毎月」のスケジュールとして実行できます。復旧ポイントの世代数を日次/週次/月次で分けて管理しているときは便利です。

 

以下、コマンドの実行結果です。ジョブの名前が「PowerCLIJob」になっており、日次バックアップ ジョブとして実行されています!

02_backup_result

 

以上、ホテがお伝えしました。次回は PowerShell を使い、Windows PC のシャットダウンをトリガーにしてバックアップを実行させます。

 

<関連記事>

Arcserve UDP v6 新機能紹介 ~ (9) PowerShell を使ったバックアップ/リストアの自動実行 【前編】

Arcserve UDP v6 新機能紹介 ~ (10) PowerShell を使ったバックアップ/リストアの自動実行 【後編】

Arcserve UDP で PC のシャットダウン時にバックアップを行う方法

Arcserve UDP 8.0 新機能紹介(7):その他の新機能と機能改善

Arcserve UDP:Linux サーバのみの環境でバックアップをコマンド実行する方法

« Arcserve UDP:PC を VPN 経由でバックアップさせない方法 | トップページ | 徹底比較!Arcserve UDP を使ったクラウドへのバックアップ方法 »

技術情報」カテゴリの記事

Arcserve UDP」カテゴリの記事

コメント

GUI の毎日、毎週、毎月のスケジュールとコマンド実行の関係について教えてください。
コマンドを実行する場合は、予めGUIでプランの作成が必要だと思います。
また、毎日、毎週なのどの世代数設定もGUIから実施すると思います。

GUIだけで完結する場合は、ほとんど迷わないのですが、
これをコマンドで実行したい場合でも、GUIで設定したスケジュールがバックアップが実行されてしまいますよね。
GUIは世代数のためだけに設定して、実行は外部からコマンドで好きな時間に実行したい場合
どのように設定すればよいのでしょうか。
Windows の UDP Agent の環境です。

まるまるまる様

コメントいただきましてありがとうございます!

おっしゃる通り、毎日/毎週/毎月 の保存数を設定するには、GUI での設定が必要です。
また、この場合、おっしゃる通り GUI で設定したスケジュール通りにバックアップが行われます。

そのため、「PowerShell スクリプトの実行でのみバックアップを行う」という事は残念ながらできません。ご要望に添えず申し訳ございません。

PowerShell で「毎日/毎週/毎月」を指定して行うバックアップは、GUI で設定したスケジュールに追加で行う、補助的なものになります。

スケージュールに関してですが
backupJobType
backupScheduleType
はGUIでジョブ作成時、デフォルトでは毎日-増分だったと思いますが、
同様にPowerShellでスクリプトを記述したとして
-backupJobType Incr -backupScheduleType Dailyと指定すると実質的にはGUIで設定した
スケジュールしたジョブをキック(今すぐ実行)できるという認識でよろしいでしょうか?

TK氏 様

コメントいただきましてありがとうございます!

はい、ご認識の通りです。増分バックアップが日次ジョブとして今すぐ実行されます。

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« Arcserve UDP:PC を VPN 経由でバックアップさせない方法 | トップページ | 徹底比較!Arcserve UDP を使ったクラウドへのバックアップ方法 »