NetWorker:如何使用 nsrpolicy 命令

摘要: 本文提供有关使用 NetWorker nsrpolicy 命令执行 NetWorker 管理任务的信息。

本文适用于 本文不适用于 本文并非针对某种特定的产品。 本文并非包含所有产品版本。

说明

nsrpolicy 命令是用于管理和监视 NetWorker 策略的管理 NetWorker 命令。许多相同的功能从 NetWorker 管理 (NMC) 和 Web UI (NWUI) 执行;然而 nsrpolicy 为管理员提供命令行功能。

 

nsrpolicy 必须在以下条件之一下运行:

  • 您正在从提升的提示符运行命令。Windows 上的管理员命令/PowerShell 提示符或 root/sudo shell 在 Linux 上。
  • 您从非提升提示符运行命令,但已发出 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

使用注释、开始时间和组的非默认值创建新工作流:
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

在工作流中启动一个客户端:
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日志文件

提醒:NetWorker 策略日志遵循”jobsdb 保留期(默认为 72 小时)。超过保留期的日志将在到期任务期间从系统中删除。

脚本示例:

提醒:以下示例仅用作示例。它们的作用是证明 nsrpolicy 功能超越单行使用,以及如何从 CLI 管理其 NetWorker 服务器。请勿在未测试或了解功能的情况下在您的环境中实施/使用脚本。NetWorker 支持不提供任何脚本解决方案或脚本支持。

Linux:

示例 1:  列出所有策略及其工作流。此 shell 脚本遍历 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:  列出所有策略及其工作流和作以及目标池。此 shell 脚本运行三个循环以获取策略、工作流和作的列表。将输出每个节点的名称以及作的目标存储节点参数。

#!/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:  作列表。创建了三个循环。用于列出策略的循环,然后用于列出每个策略的所有工作流的循环,然后列出每个工作流的所有作的循环。

$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"
     }
   }
}

其他信息

nsrpolicy 是从 NetWorker 9 开始的 NetWorker 策略管理命令。  以前使用 nsradmin 完成的 NetWorker 的许多命令行管理现在使用 nsrpolicy 命令完成。

第一步是在命令行上使用 nsrlogin 命令,使用与登录 NetWorker Management Console 时相同的凭据登录到 NetWorker 服务器。运行 nsrlogin 命令时,NetWorker 主机将联系 NetWorker AuthenticationService 以验证用户登录凭据。

nsrlogin -u [用户名] - p [密码]

nsrpolicy 命令在每个级别都有许多不同的选项。  在每个步骤中按 Enter 键将为您提供命令下一部分可用选项的完整列表:

nsrpolicy
policy
create | delete | display | update | listworkflowcreate | delete | display | update | list workflow create | delete | display | update | list
action
create | delete | display | update | list
group
create | delete | display | 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 [jobid] -s [NetWorker 服务器] -D [调试级别] -h
       输入文件
             必须具备: -f [文件名]
            
其他选项:   [--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
             必须具备:  -j [jobid] 或 -p [policy] -w [workflow]
            
其他选项: -s [NetWorker 服务器] -D [调试级别] -h
       迁移
             必须具有 要迁移的内容:组 | schedule_clone | nas_device | vmware_policy
            
其他选项:  -s [NetWorker 服务器] -D [调试级别] -h
       帮助

命令行示例:

列出数据区
   nsrpolicy policy list
   nsrpolicy policy policy list

中的策略 显示作的属性:
   nsrpolicy action display -p [策略] -w [工作流] -A [作]
   nsrpolicy action display -p Mona -w Mona_wf -A backup

显示组的属性:
   nsrpolicy group display -g [组]
   nsrpolicy group display -g Felix

禁用作:
   nsrpolicy action update [action type backup subtype] -p [policy] -w [workflow] -A [action] -e no
nsrpolicy action update backup traditional -p FrankHoenikker-w FrankH -A backup -e no
 
要更改与作关联的计划,请执行以下作:
   nsrpolicy action update [action type backup subtype] -p [policy] -w [workflow] -A [action] -t [schedule]
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 “[path to input file]”
nsrpolicy input-file -f “/nsr/AddAlicetoTheHook.input”
 
Create a new workflow with non-default values for comment, start-time and group:
   nsrpolicy workflow create -p [policy] -w [workflow] -c [comment] -g [group] -S [start time]
nsrpolicy workflow create -p Mona -w Papa -c “Workflow for RedHat 6 clients” -g PapaMgroup -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 Mona -w Papa -A papabackup -o SanLorenzoDDPool -u success

启动工作流(请注意,您不能以这种方式启动作。  您必须启动整个工作流)。
   nsrpolicy start -p [策略] -w [工作流]
nsrpolicy start -p Mona -w Mona_wf

停止工作流(您可以使用“nsrpolicy monitor”命令获取相关的作业 ID — 请参见下文):
   nsrpolicy stop -j [jobid]
nsrpolicy stop -j 320819

在工作流中启动一个客户端:
   nsrpolicy start -p [policy] -w [workflow] -c “[client]:[saveset]
nsrpolicy start -p Mona -w Mona_wf -c “vm-wego-231:/felix”

监视策略中工作流的最新运行:
   nsrpolicy monitor -p [policy] -dn
   nsrpolicy monitor -p Mona -dn

特定近期作业的详细作业输出:
   nsrpolicy monitor -j [作业 ID]
nsrpolicy monitor -j 290473

要在调试模式下启动工作流,nsrpolicy 不如 nsrworkflow 命令有效,因为“nsrpolicy start”不会将调试输出记录到 /nsr/logs/policy 文件夹,而 nsrworkflow 将记录到原始文件。
   nsrworkflow -p [policy] -w [workflow] -A “[action]”
  nsrworkflow -D9 -p newt -w newt1 -A “backup”

您要进行调试的位置取决于您需要更详细地查看的备份过程的确切部分。  上面的 nsrworkflow 命令会将 NetWorker 服务器端 savegrp作放在 D9 中,并将调试数据输出到 /nsr/logs/policy 中的原始文件。  但是,它不会将调试标记传递给 NetWorker-客户端保存进程。  为此,您需要修改客户端的“backup command”字段。  为此,您可以使用 NMC 或从命令行:

这将导致保存进程在调试模式下运行(在以下示例中为 D3),并将调试日志数据输出到 /nsr/logs/policy/[policy name]/[workflow name]/_logs 文件夹。

NWserver121:> nsradmin
NetWorker 管理程序。
使用“help”命令获取帮助,使用“visual”获取全屏模式帮助。
nsradmin> 。键入:NSR 客户端;名称:vm-lego-231
当前查询集
nsradmin> 更新备份命令:save -D3
备份命令:save -D3;
更新?y
updated resource id 48.0.46.11.0.0.0.0.231.177.13.90.10.60.28.121(13)
backup command: save -D3;
更新?y
updated resource id 45.0.185.125.0.0.0.0.126.197.192.89.10.60.28.121(34)
backup command: save -D3;
更新?y
updated resource id 47.0.28.24.0.0.0.0.123.60.218.88.10.60.28.121(39)
backup command: save -D3;
更新?y
updated resource id 64.0.28.24.0.0.0.0.123.60.218.88.10.60.28.121(35)
backup command: save -D3;
更新?y
updated resource id 57.0.46.11.0.0.0.0.231.177.13.90.10.60.28.121(8)
backup command: 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:  列出所有策略及其工作流
此 shell 脚本遍历 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:  列出所有策略及其工作流和作以及目标池
此 shell 脚本运行三个循环以获取策略、工作流和作的列表。  将输出每个节点的名称以及作的目标存储节点参数。


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 ”WORKFLOW:$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 “Destination Pool:$destpool“
done
done
done

示例 3 仅当
存在特定目录时运行备份 此 shell 脚本检查名为 /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
否则
printf $DATE >> $log
printf “ $dir不存在,因此不启动 newt1 工作流 \n”>>$log fi




WINDOWS POWERSHELL:

示例 1:工作流

列表通过遍历策略列表并为每个策略运行“nsrpolicy workflow list”命令,列出策略及其工作流。

$listp = nsrpolicy policy list
foreach ($i in $listp)
{
write-host “-----”
write-host “POLICY:$i“
write-host”工作流:“
nsrpolicy workflow list -p ”$i“
}

示例 2:  作
列表创建了三个循环。  用于列出策略的循环,然后用于列出每个策略的所有工作流的循环,然后列出每个工作流的所有作的循环。

$listp = nsrpolicy policy list
foreach ($p in $listp)
{
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
“Started Star” |Out-File $log -Append -Force
}
else
{
“------------------” |Out-File $log -Append -Force
$LogTime |Out-File $log -Append -Force
“Star not started because $dir does not exist” |Out-File $log -Append -Force
}

受影响的产品

NetWorker

产品

NetWorker, NetWorker Series
文章属性
文章编号: 000010289
文章类型: How To
上次修改时间: 30 1月 2026
版本:  4
从其他戴尔用户那里查找问题的答案
支持服务
检查您的设备是否在支持服务涵盖的范围内。