NetWorker:nsrpolicyコマンドの使用方法
Résumé: この記事では、NetWorker nsrpolicyコマンドを使用してNetWorker管理タスクを実行する方法について説明します。
Instructions
「 nsrpolicy commandは、NetWorkerポリシーの管理と監視に使用される管理NetWorkerコマンドです。同じ機能の多くは、NetWorker管理(NMC)およびWeb UI(NWUI)から実行されます。しかし nsrpolicy 管理者にコマンドライン機能を提供します。
nsrpolicy は、次のいずれかの条件下で実行する必要があります。
- 管理者特権のプロンプトからコマンドを実行しています。管理者コマンド/PowerShell プロンプト (Windows の場合)、または root/
sudoLinux上のシェル。 - 管理者特権のないプロンプトからコマンドを実行していますが、NetWorker認証トークンを発行しています。
nsrlogin -u USERNAME
nsrlogin NetWorkerユーザー資格情報を使用して、NetWorker管理用の時間ベースの認証トークンを発行します。使用している場合 nsrloginその場合は、セッションを nsrlogout アクティビティが終了したとき。これにより、古いトークンが後続のコマンドに干渉するのを防ぎます。
一般的な使用方法の概要:
nsrpolicy
policy
create | delete | display | update | list
workflow
create | delete | display | update | list
action
create | delete | display | update | list
group
create | delete | display | update
start
Must have: -p [policy] -w [workflow]
Other options (NetWorker 9.2 and above for -c option): -c { <client_name1:[save_set_path_1;save_set_path_2],client_name2...> -s [NetWorker server] -D [debug level] -h
stop
Must have: Either -j [jobid] or -p [policy] -w [workflow]
Other options: -s [NetWorker server] -D [debug level] -h
monitor
Must have: -p [policy]
Other options: -w [workflow] -c [client] -g [group] -d [details] -n [non-tabular] -j [jobid] -s [NetWorker server] -D [debug level] -h
input-file
Must have: -f [file name]
Other options: [--stop_on_error -S <0/1; default:0 (Do not stop)>] [--stop_on_error -S <0/1; default:0 (Do not stop)>] -D [debug level] -h
restart
Must have: Either -j [jobid] or -p [policy] -w [workflow]
Other options: -s [NetWorker server] -D [debug level] -h
migrate
Must have what is to be migrated: group | schedule_clone | nas_device | vmware_policy
Other options: -s [NetWorker server] -D [debug level] -h
help
例:
データゾーン内のオブジェクトを一覧表示します。
nsrpolicy [object] list
オブジェクト:ポリシー、ワークフロー、アクション
nsrpolicy policy list nsrpolicy workflow list -p "VMware Protection" nsrpolicy action list -p "VMware Protection" -w "Full VM"
アクションのプロパティを表示します。nsrpolicy action display -p [policy] -w [workflow] -A [action]
nsrpolicy action display -p "VMware Protection" -w "Full VM" -A backup
グループのプロパティを表示します。nsrpolicy group display -g [group]
nsrpolicy group display -g "VMware Protection - Full VM"
アクションを無効化または有効化します。nsrpolicy action update [action type backup subtype] -p [policy] -w [workflow] -A [action] -e [no/yes]
nsrpolicy action update backup traditional -p "Client Protection" -w "Traditional Client" -A backup -e no nsrpolicy action update backup traditional -p "Client Protection" -w "Traditional Client" -A backup -e yes
アクションに関連付けられたスケジュールを変更するには、次の手順を実行します。nsrpolicy action update [action type backup subtype] -p [policy] -w [workflow] -A [action] -t [schedule]
nsrpolicy action update backup traditional -p "Client Protection" -w "Traditional Client" -A backup -t full,incr,incr,incr,incr,incr,incr
入力ファイルを使用してクライアントをグループに追加する(クライアント インスタンスがすでに存在している必要があります):
次のテキストを含む入力ファイルを作成します。group update client -g [group] --add_clnt_list [client]:[saveset]
[root@nsr ~]# cat AddTraditionalClient.txt group update client -g "Client Protection - Traditional Client" --add_clnt_list win-client03.amer.lan:All
nsrpolicy input-file -f "[path to input file]"
[root@nsr ~]# nsrpolicy input-file -f /root/AddTraditionalClient.txt 121415:nsrpolicy: Command from file: group update client -g "Client Protection - Traditional Client" --add_clnt_list win-client03.amer.lan:All 133584:nsrpolicy: Group 'Client Protection - Traditional Client' was successfully updated
comment、start-time、groupにデフォルト以外の値を使用して新しいワークフローを作成します。nsrpolicy workflow create -p [policy] -w [workflow] -c [comment] -g [group] -S [start time]
nsrpolicy workflow create -p "Client Protection" -w "Traditional Client - Linux" -c "Linux Clients" -g "Linux - Clients" -S "10:00"
ターゲット プールと成功しきい値にデフォルト以外の値を指定して、新しいアクションを作成します。nsrpolicy action create [action type backup subtype] -p [policy] -w [workflow] -A [action] -o [target pool] -u [success threshold]
nsrpolicy action create backup traditional -p "Client Protection" -w "Traditional Client - Linux" -A backup -o "Data Domain Default" -u success
ワークフローを開始します (この方法でアクションを開始することはできません。ワークフロー全体を開始する必要があります)。nsrpolicy start -p [policy] -w [workflow]
nsrpolicy start -p "Client Protection" -w "Traditional Client - Linux"
ワークフローを停止します。nsrpolicy stop -p [policy] -w [workflow]
nsrpolicy stop -p "Client Protection" -w "Traditional Client - Linux"
jobkillファイルに置き換えます。
[root@nsr ~]# nsrpolicy start -p "Client Protection" -w "Traditional Client - Linux" 144091:nsrpolicy: Workflow 'Client Protection/Traditional Client - Linux' started and has job id 1248743 [root@nsr ~]# [root@nsr ~]# jobkill -j 1248743 Terminating job 1248743
ワークフローで1つのクライアントを開始します。nsrpolicy start -p [policy] -w [workflow] -c "[client]:[saveset]
nsrpolicy start -p "Client Protection" -w "Traditional Client - Linux" -c "rhel-client03.amer.lan:All"
ポリシー内のワークフローの最新の実行を監視します。nsrpolicy monitor -p [policy] -dn
nsrpolicy monitor -p "Client Protection" -dn
nsrwatch コマンドを使用してセッションを監視します。
特定の最近のジョブの詳細なジョブ出力:nsrpolicy monitor -j [job id]
nsrpolicy monitor -j 290473
jobqueryファイルに置き換えます。
jobquery
print type: backup action job
ワークフローをデバッグモードで開始するには、 nsrpolicy は、 nsrworkflow コマンドは、'nsrpolicy start' デバッグ出力を /nsr/logs/policy フォルダ nsrworkflow 意志を .raw ファイルで定義)を使用することが重要です。nsrworkflow -D[Debug Level] -p [policy] -w [workflow] -A "[action]"
nsrworkflow -D9 -p "Client Protection" -w "Traditional Client - Linux"
NetWorkerのデバッグ レベルの詳細については、次を参照してください。NetWorker:デバッグ情報レベル
nsrworkflow debugは、NetWorkerサーバ側のメッセージのみをデバッグします。バックアップを実行するクライアント/システムで実行される操作にデバッグは追加されません。
有効化の例 save -D3 nsradminコマンド ライン ユーティリティーを使用したNetWorkerクライアントでのバックアップ:
[root@nsr ~]# nsradmin NetWorker administration program. Use the "help" command for help, "visual" for full-screen mode. nsradmin> . type : NSR Client; name : rhel-client03.amer.lan Current query set nsradmin> update backup command : save -D3 backup command: save -D3; Update? y updated resource id 48.0.46.11.0.0.0.0.231.177.13.90.10.60.28.121(13)
上記の例では、クライアントのワークフローが開始されると、 save プロセスは、デバッグが有効になっているクライアントで開始されます (-D3)です。
特定のバックアップ機能をデバッグするには、次を参照してください。NetWorker:バックアップ オペレーションをデバッグする方法(英語)」
ログ:
すべてのポリシーとワークフローのバックアップは、NetWorkerログ ディレクトリーに記録されます。
Linuxの場合 /nsr/logs/policy/POLICY_NAME
Windows(デフォルト): C:\Program Files\EMC NetWorker\nsr\logs\policy\POLICY_NAME
一般的なサーバー メッセージは、次のdaemon.rawに記録されます。
Linuxの場合 /nsr/logs/daemon.raw
Windows(デフォルト): C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw
NetWorker:nsr_render_logを使用して.rawログ ファイルをレンダリングする方法
jobsdb 保持期間(デフォルトは72時間)。保存期間を過ぎたログは、有効期限タスク中にシステムから削除されます。
スクリプトの例:
nsrpolicy 単一行の使用を超える機能と、CLIからNetWorkerサーバーを管理する方法。機能をテストまたは理解せずに、環境内でスクリプトを実装/使用しないでください。NetWorkerサポートは、スクリプト作成ソリューションまたはスクリプト サポートを提供または提供しません。
Linuxの場合
例 1: すべてのポリシーとそのワークフローを一覧表示します。このシェル スクリプトは、NetWorker構成のポリシーのリストをループ処理し、コマンド「nsrpolicy workflow list" を各ポリシーのワークフロー名の一覧に出力します。
#!/usr/bin/sh
IFS=$'\n'
fullpolicylist=(`nsrpolicy policy list`)
for lp in "${fullpolicylist[@]}"
do
echo " "
echo "POLICY: $lp"
echo "Workflows"
nsrpolicy workflow list -p "$lp"
done
例 2: すべてのポリシーとそのワークフローとアクション、および宛先プールを一覧表示します。このシェルスクリプトは、3つのループを実行して、ポリシー、ワークフロー、およびアクションのリストを取得します。それぞれの名前と、アクションのデスティネーション ストレージ ノード パラメーターが出力されます。
#!/usr/bin/env bash
set -euo pipefail
# Read policies into an array (one per line)
mapfile -t fullpolicylist < <(nsrpolicy policy list)
for lp in "${fullpolicylist[@]}"; do
echo "------------------"
echo "POLICY: $lp"
# Read workflows for this policy
mapfile -t wflist < <(nsrpolicy workflow list -p "$lp")
for w in "${wflist[@]}"; do
echo
echo "WORKFLOW: $w"
# Read actions for this workflow
mapfile -t alist < <(nsrpolicy action list -p "$lp" -w "$w")
for a in "${alist[@]}"; do
echo "ACTION: $a"
# Pull DestinationPool value
destpool=$(
nsrpolicy action display -p "$lp" -w "$w" -A "$a" \
| awk -F': ' '/DestinationPool/ {print $2; exit}'
)
echo "Destination Pool: ${destpool:-<none>}"
done
done
done
Windows PowerShell:
例 1:ワークフローのリスト。ポリシー リストをループし、各ポリシーに対して「nsrpolicy workflow list」コマンドを実行して、ポリシーとそのワークフローを一覧表示します。
$listp = nsrpolicy policy list
foreach ($i in $listp)
{
write-host "-----"
write-host "POLICY: $i"
write-host "WORKFLOWS: "
nsrpolicy workflow list -p "$i"
}
例 2: アクションのリスト。3 つのループが作成されます。ポリシーを一覧表示するループ、各ポリシーのすべてのワークフローを一覧表示するループ、各ワークフローのすべてのアクションを一覧表示するループ。
$listp = nsrpolicy policy list
foreach ($p in $listp)
{
write-host "-----"
write-host "POLICY: $p"
write-host "WORKFLOWS: "
$wlist = nsrpolicy workflow list -p $p
foreach ($w in $wlist)
{
write-host "$w"
write-host "ACTIONS:"
$alist = nsrpolicy action list -p "$p" -w "$w"
foreach ($a in $alist)
{
write-host "$a"
}
}
}Informations supplémentaires
最初の手順は、NetWorker Management Consoleへのログインに使用するのと同じ認証情報で、nsrloginコマンドを使用してコマンド ラインでNetWorkerサーバーにログインします。nsrloginコマンドを実行すると、NetWorkerホストはNetWorker AuthenticationServiceにアクセスして、ユーザー ログイン認証情報を検証します。
nsrlogin -u [ユーザー名] - p [パスワード]
nsrpolicyコマンドには、各レベルで使用できるさまざまなオプションがあります。 各ステップでEnterキーを押すと、コマンドの次の部分で使用可能なオプションの完全なリストが表示されます。
nsrpolicy
policy
create | delete | display | update | list
workflow
create | delete | display | update | list
actionaction
create | delete | display | update | list
group
create | delete | display | update
start
次のものが必要です。-p [ポリシー] -w [ワークフロー]
その他のオプション(NetWorker 9.2以降の-cオプション): -c { <client_name1:[save_set_path_1;save_set_path_2],client_name2...> -s [NetWorkerサーバ] -D [デバッグ レベル] -h
やめろ
次のものが必要です。 -j [jobid] または -p [policy] -w [workflow] のいずれか
その他のオプション: -s [NetWorkerサーバ] -D [デバッグ レベル] -h
モニター
次のものが必要です。 -p [ポリシー]
その他のオプション: -w [ワークフロー] -c [クライアント] -g [グループ] -d [詳細] -n [表形式でない] -j [ジョブ ID] -s [NetWorkerサーバー] -D [デバッグ レベル] -h
input-fileです
次のものが必要です。 -f [ファイル名]
その他のオプション: [--stop_on_error -S <0/1; default:0 (停止しない)>] [--stop_on_error -S <0/1; default:0 (停止しない)>] -D [デバッグレベル] -h
restart
次のものが必要です。 -j [jobid] または -p [policy] -w [workflow] のいずれか
その他のオプション: -s [NetWorkerサーバ] -D [デバッグ レベル] -h
移行
移行するものが必要です:group | schedule_clone | nas_device | vmware_policy
その他のオプション: -s [NetWorkerサーバ] -D [デバッグ レベル] -h
助けて
コマンドラインの例:
datazone
nsrpolicy policy list
nsrpolicy policy list
アクションのプロパティを表示します。
nsrpolicy action display -p [ポリシー] -w [ワークフロー] -A [アクション]
nsrpolicy action display -p Mona -w Mona_wf -A backupを実行します
グループのプロパティを表示します。
nsrpolicy group display -g [group]
nsrpolicy group display -g Felix
アクションの無効化:
nsrpolicy action update [アクション タイプ バックアップ サブタイプ] -p [ポリシー] -w [ワークフロー] -A [アクション] -e no
nsrpolicy action update backup traditional -p FrankHoenikker -w FrankH -A backup -e no
アクションに関連付けられたスケジュールを変更するには、次の手順を実行します。
nsrpolicy action update [アクション タイプ バックアップ サブタイプ] -p [ポリシー] -w [ワークフロー] -A [アクション] -t [スケジュール]
nsrpolicy action update backup traditional -p Mona -w Mona_wf -A backup -t full,incr,incr,incr,incr,incr,incr
入力ファイルを使用してクライアントをグループに追加する(クライアント インスタンスはすでに存在している必要があります)。
次のテキストを含む入力ファイルを作成します。group update client -g [group] --add_clnt_list [client]:[saveset]
cat AddAlicetoTheHook.input
group update client -g TheHook --add_clnt_list vm-lego-231:/alice
nsrpolicy input-file -f "[入力ファイルへのパス]"
nsrpolicy input-file -f "/nsr/AddAlicetoTheHook.input"
comment、start-time、groupにデフォルト以外の値を指定して、新しいワークフローを作成します。
nsrpolicy workflow create -p [ポリシー] -w [ワークフロー] -c [コメント] -g [グループ] -S [開始時刻]
nsrpolicy workflow create -p Mona -w Papa -c "Red Hat 6クライアントのワークフロー" -g PapaMgroup -S "10:00"
ターゲット プールと成功しきい値にデフォルト以外の値を指定して、新しいアクションを作成します
nsrpolicy action create [action type backup subtype] -p [policy] -w [workflow] -A [action] -o [ターゲット プール] -u [success threshold]
nsrpolicy action create backup traditional -p Mona -w Papa -A papabackup -o SanLorenzoDDPool -u success
start a workflow(この方法でアクションを開始することはできません。 ワークフロー全体を開始する必要があります)。
nsrpolicy start -p [ポリシー] -w [ワークフロー]
nsrpolicy start -p Mona -w Mona_wf
ワークフローを停止します(「nsrpolicy monitor」コマンドを使用して関連するジョブIDを取得できます。以下を参照)。
nsrpolicy stop -j [jobid]
nsrpolicy stop -j 320819
ワークフローで1つのクライアントを開始します。
nsrpolicy start -p [ポリシー] -w [ワークフロー] -c "[クライアント]:[セーブセット]
nsrpolicy start -p Mona -w Mona_wf -c "vm-wego-231:/felix"を実行します
ポリシー内のワークフローの最新の実行を監視します。
nsrpolicy monitor -p [ポリシー] -dn
nsrpolicy monitor -p Mona -dnを実行します
特定の最近のジョブの詳細なジョブ出力:
nsrpolicy monitor -j [ジョブID]
nsrpolicy monitor -j 290473
デバッグ モードでワークフローを開始する場合、nsrpolicyはnsrworkflowコマンドほど効果的ではありません。これは、nsrpolicy startでは、デバッグ出力が/nsr/logs/policyフォルダーに記録されないためです。このフォルダーは、nsrworkflowがrawファイルに記録します。
nsrworkflow -p [ポリシー] -w [ワークフロー] -A "[アクション]"
nsrworkflow-D9 -p Newt -w newt1 -A "backup"
デバッグの場所は、バックアップ プロセスのどの部分を詳細に確認する必要があるかによって異なります。 上記のnsrworkflowコマンドは、NetWorkerサーバー側のsavegrp操作をD9に配置し、デバッグ データを/nsr/logs/policyのrawファイルに出力します。 ただし、NetWorkerクライアント側の保存プロセスにはデバッグ フラグが渡されません。 これを行うには、クライアントの「バックアップ コマンド」フィールドを変更する必要があります。 これには、NMCを使用するか、コマンド ラインから実行できます。
これにより、保存プロセスがデバッグ モード(以下の例ではD3)で実行され、デバッグ ログ データが/nsr/logs/policy/[policy name]/[workflow name]/ _logsフォルダーに出力されます。
NWserver121:> nsradmin
NetWorker管理プログラム
。ヘルプの場合は「help」コマンドを使用し、全画面モードの場合は「visual」を使用します。
nsradmin> 。。タイプ: NSRクライアントname : vm-lego-231
Current query set
nsradmin> update backup command : save -D3
backup command: save -D3;
更新。y
リソース ID 48.0.46.11.0.0.0.0.231.177.13.90.10.60.28.121(13) を更新しました
バックアップ コマンド: save -D3;
更新。y
リソースID 45.0.185.125.0.0.0.0.126.197.192.89.10.60.28.121(34)
backup command: save -D3;
更新。y
更新されたリソースID 47.0.28.24.0.0.0.0.123.60.218.88.10.60.28.121(39)
バックアップ コマンド:save -D3;
更新。y
更新されたリソースID 64.0.28.24.0.0.0.0.123.60.218.88.10.60.28.121(35)
backup command: save -D3;
更新。y
リソースID 57.0.46.11.0.0.0.0.231.177.13.90.10.60.28.121(8)を更新
バックアップ コマンド:save -D3;
更新。y
更新されたリソースID 49.0.62.11.0.0.0.0.118.31.239.89.10.60.28.121(5)
/nsr/logs/policy/Zinka/zinka_wf/zinka_backup_357042_logs
スクリプトの例:
これらのスクリプトは、このコマンドでスクリプト化できるものの例として示されています。 徹底的なテストを行わずに本番環境に実装すべきではありません
LINUX:
例1: すべてのポリシーとそのワークフローを一覧表示します
このシェルスクリプトは、NetWorker構成のポリシーのリストをループ処理し、各ポリシーに対して「nsrpolicy workflow list」コマンドを実行すると、各ポリシーのワークフロー名のリストが出力されます。
cat listofworkflows.sh
#!/usr/bin/sh
IFS=$'\n'
fullpolicylist=('nsrpolicy policy list')
for lp in "${fullpolicylist[@]}"
do
echo " "
echo "POLICY: $lp"
echo "Workflows"
nsrpolicy workflow list -p "$lp"
done
例2: すべてのポリシーとそのワークフローとアクション、および宛先プールを一覧表示します
このシェルスクリプトは、3つのループを実行して、ポリシー、ワークフロー、アクションのリストを取得します。 それぞれの名前と、アクションのデスティネーション ストレージ ノード パラメーターが出力されます。
cat listofworkflows_actions.sh
#!/usr/bin/sh
IFS=$'\n'
fullpolicylist=('nsrpolicy policy list')
for lp in "${fullpolicylist[@]}"
do
echo "------------------ "
echo "POLICY: $lp"
wflist=('nsrpolicy workflow list -p $lp')
for w in "${wflist[@]}"
do
echo " "
echo "ワークフロー: $w"
alist=('nsrpolicy action list -p $lp -w $w')
for a in "${alist[@]}"
do
echo "ACTION: $a"
destpool='nsrpolicy action display -p $lp -w $w -A $a | grep DestinationPool | cut -d ":"-f2'
echo "デスティネーション プール: $destpool
done
done
done
例3 特定のディレクトリが存在する場合にのみバックアップを実行する
このシェルスクリプトは、/k7appというディレクトリが存在するかどうかをチェックします。 その場合は、newt1 というワークフローが開始され、そのことが専用のログ ファイルに記録されます。 ディレクトリーが存在しない場合、バックアップは実行されません。その事実は同じログ ファイルに記録されます。 特定の条件が満たされた場合にのみワークフローを実行するような状況では、同じ構造のスクリプトを使用できます
#!/usr/bin/sh
IFS=$'\n'
dir="/k7app"
log="/nsr/logs/k7applog.log"
DATE='date'
if [ -d "$dir" ]
then
nsrpolicy start -p Newt -w newt1
printf $DATE >> $log
printf " $dirが存在するため、newt1ワークフローを開始しています \n" >> $log
else
printf $DATE >> $log
printf " $dirが存在しないため、newt1ワークフローを開始していません \n" >> $log
fi
WINDOWS POWERSHELL:
例1: ワークフローのリスト
ポリシー リストをループし、各ポリシーに対して「nsrpolicy workflow list」コマンドを実行して、ポリシーとそのワークフローを一覧表示します。
$listp = nsrpolicy policy list
foreach ($listp$i)
{
write-host "-----"
write-host "POLICY: $i"
write-host "ワークフロー: "
nsrpolicy workflow list -p "$i"
}
例2: アクションのリスト
3つのループが作成されます。 ポリシーを一覧表示するループ、各ポリシーのすべてのワークフローを一覧表示するループ、各ワークフローのすべてのアクションを一覧表示するループ
$listp = nsrpolicy policy list
foreach ($listpで$p)
{
write-host "-----"
write-host "POLICY: $p"
write-host "ワークフロー: "
$wlist = nsrpolicy workflow list -p $p
foreach ($w in $wlist)
{
write-host "$w"
write-host "ACTIONS:"
$alist = nsrpolicy action list -p "$p" -w "$w"
foreach ($a in $alist)
{
write-host "$a"
}
}
}
例3 特定のディレクトリが存在する場合にのみバックアップを実行する
このスクリプトは、C:\basicdataという名前のディレクトリが存在するかどうかを確認します。 その場合は、Starというワークフローが開始され、そのことが専用のログ ファイルに記録されます。 ディレクトリーが存在しない場合、バックアップは実行されません。その事実は同じログ ファイルに記録されます。 特定の条件が満たされた場合にのみワークフローを実行するような状況では、同じ構造のスクリプトを使用できます
$dir = "C:\basicdata"
$log = "C:\Program Files\EMC NetWorker\nsr\logs\star.log"
$LogTime = Get-Date -Format "MM-dd-yyyy_hh-mm-ss"
if ( Test-Path "$dir" )
{ nsrpolicy start -p Star -w Workflow1
"------------------" |out-file $log -append -force
$LogTime |out-file $log -append -force
"開始されたスター" |out-file $log -append -force
}
else
{
"------------------" |out-file $log -append -force
$LogTime |Out-File $log -Append -Force
"$dirが存在しないため、Star が開始されていません" |out-file $log -append -force
}