NetWorker: Come usare il comando nsrpolicy
Riepilogo: Questo articolo fornisce informazioni sull'utilizzo del comando nsrpolicy di NetWorker per eseguire attività di amministrazione di NetWorker.
Istruzioni
La colonna nsrpolicy è un comando amministrativo di NetWorker utilizzato per gestire e monitorare le policy di NetWorker. Molte delle stesse funzioni vengono eseguite da NetWorker Management (NMC) e dall'interfaccia utente web (NWUI); Tuttavia nsrpolicy Fornisce funzionalità a riga di comando per gli amministratori.
nsrpolicy deve essere eseguito in una delle seguenti condizioni:
- Si sta eseguendo il comando da un prompt con privilegi elevati. Prompt dei comandi dell'amministratore/PowerShell su Windows o root/
sudoshell su Linux. - Si sta eseguendo il comando da un prompt senza privilegi elevati, ma è stato emesso un token di autenticazione NetWorker:
nsrlogin -u USERNAME
nsrlogin rilascia un token di autenticazione basata sul tempo per l'amministrazione di NetWorker, utilizzando le credenziali utente di NetWorker. Se si utilizza nsrlogin, è importante chiudere la sessione con nsrlogout al termine delle attività. In questo modo si impedisce ai token non aggiornati di interferire con i comandi successivi.
Panoramica generale sull'utilizzo:
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
Esempi:
Elencare gli oggetti nella datazone:
nsrpolicy [object] list
Oggetti: policy, flusso di lavoro, azione
nsrpolicy policy list nsrpolicy workflow list -p "VMware Protection" nsrpolicy action list -p "VMware Protection" -w "Full VM"
Visualizzare le proprietà di un'azione:nsrpolicy action display -p [policy] -w [workflow] -A [action]
nsrpolicy action display -p "VMware Protection" -w "Full VM" -A backup
Visualizzare le proprietà di un gruppo:nsrpolicy group display -g [group]
nsrpolicy group display -g "VMware Protection - Full VM"
Disabilitare o abilitare un'azione: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
Per modificare la pianificazione associata a un'azione: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
Aggiungere un client a un gruppo utilizzando un file di input (un'istanza client deve già esistere):
Creare un file di input con il testo: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
Creare un nuovo flusso di lavoro con valori non predefiniti per commento, ora di inizio e gruppo: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"
Creare una nuova azione con valori non predefiniti per il pool di destinazione e la soglia di esito positivo: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
Avviare un flusso di lavoro (non è possibile avviare un'azione in questo modo. È necessario avviare l'intero flusso di lavoro).nsrpolicy start -p [policy] -w [workflow]
nsrpolicy start -p "Client Protection" -w "Traditional Client - Linux"
Arresto di un flusso di lavoro: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
Avviare un client in un flusso di lavoro:nsrpolicy start -p [policy] -w [workflow] -c "[client]:[saveset]
nsrpolicy start -p "Client Protection" -w "Traditional Client - Linux" -c "rhel-client03.amer.lan:All"
Monitorare l'esecuzione più recente dei flussi di lavoro in una policy:nsrpolicy monitor -p [policy] -dn
nsrpolicy monitor -p "Client Protection" -dn
nsrwatch per monitorare le sessioni.
Output dettagliato di un lavoro recente specifico:nsrpolicy monitor -j [job id]
nsrpolicy monitor -j 290473
jobquery:
jobquery
print type: backup action job
Per avviare un flusso di lavoro in modalità di debug, attenersi alla procedura descritta di seguito. nsrpolicy non è efficace quanto il nsrworkflow comando perché 'nsrpolicy start' non registra l'output di debug in /nsr/logs/policy cartella che nsrworkflow volontà di .raw di NetWorker.nsrworkflow -D[Debug Level] -p [policy] -w [workflow] -A "[action]"
nsrworkflow -D9 -p "Client Protection" -w "Traditional Client - Linux"
Per ulteriori informazioni sui livelli di debug di NetWorker, consultare: NetWorker: Livelli di informazioni di debug
nsrworkflow debug esegue solo il debug dei messaggi lato server di NetWorker. Non aggiunge il debug alle operazioni eseguite sul client/sistema che esegue il backup.
Esempio di abilitazione save -D3 backup su un client NetWorker, utilizzando l'utilità della riga di comando nsradmin:
[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)
Nell'esempio precedente, quando il flusso di lavoro per il client viene avviato, il save Il processo viene avviato sul client con debug abilitato (-D3) nel caso di specie.
Per eseguire il debug di funzioni di backup specifiche, vedere: NetWorker: come eseguire il debug delle operazioni di backup (in inglese)
Registrazione:
Tutti i backup di policy e flussi di lavoro vengono registrati nella directory logs di NetWorker:
Linux: /nsr/logs/policy/POLICY_NAME
Windows (impostazione predefinita): C:\Program Files\EMC NetWorker\nsr\logs\policy\POLICY_NAME
I messaggi generali del server vengono registrati nel daemon.raw:
Linux: /nsr/logs/daemon.raw
Windows (impostazione predefinita): C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw
NetWorker: Come utilizzare nsr_render_log per eseguire il rendering .raw file di log
jobsdb periodo di retention (72 ore per impostazione predefinita). I registri che hanno superato il periodo di retention vengono rimossi dal sistema durante le attività di scadenza.
Esempi di script:
nsrpolicy capacità oltre l'utilizzo di una singola riga e modalità di amministrazione del server NetWorker dalla CLI. Non implementare/utilizzare script nell'ambiente senza averne verificato o compreso le funzioni. Il supporto NetWorker non offre né fornisce alcuna soluzione di scripting o supporto per script.
Linux:
Esempio 1: Elencare tutte le policy e i relativi flussi di lavoro. Questo script della shell esegue un ciclo attraverso l'elenco delle policy nella configurazione di NetWorker ed esegue il comando "nsrpolicy workflow list" per ciascuna policy, in modo da produrre un elenco di nomi di flussi di lavoro per ciascuna policy.
#!/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
Esempio 2: Elencare tutte le policy e i relativi flussi di lavoro e azioni e il pool di destinazione. Questo script della shell esegue tre cicli per ottenere l'elenco di policy, flussi di lavoro e azioni. Vengono emessi i nomi di ciascuno di essi insieme al parametro dello storage node di destinazione dell'azione.
#!/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:
Esempio 1: Elenco dei flussi di lavoro. Elenca le policy e i relativi flussi di lavoro scorrendo l'elenco di policy ed eseguendo il comando "nsrpolicy workflow list" per ogni policy.
$listp = nsrpolicy policy list
foreach ($i in $listp)
{
write-host "-----"
write-host "POLICY: $i"
write-host "WORKFLOWS: "
nsrpolicy workflow list -p "$i"
}
Esempio 2: Elenco delle azioni. Vengono creati tre cicli. Un ciclo per elencare le policy, quindi un ciclo per elencare tutti i flussi di lavoro per ogni policy e infine un ciclo per elencare tutte le azioni per ogni flusso di lavoro.
$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"
}
}
}Informazioni aggiuntive
Il primo passaggio consiste nell'accedere al server NetWorker sulla riga di comando utilizzando il comando nsrlogin con le stesse credenziali utilizzate per accedere a NetWorker Management Console.Quando si esegue il comando nsrlogin, l'host NetWorker contatta NetWorker AuthenticationService per convalidare le credenziali di accesso dell'utente.
nsrlogin -u [nome utente] - p [password]
Il comando nsrpolicy dispone di una serie di opzioni diverse disponibili a ogni livello. Premendo il tasto Invio ad ogni passaggio verrà visualizzato l'elenco completo delle opzioni disponibili per la parte successiva del comando:
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
Elementi indispensabili: -p [criterio] -w [flusso di lavoro]
Altre opzioni (NetWorker 9.2 e versioni successive per l'opzione -c): -c { <client_name1:[save_set_path_1; save_set_path_2],client_name2...> -s [server NetWorker] -D [livello debug] -h
fermarsi
Elementi indispensabili: -j [jobid] o -p [policy] -w [flusso di lavoro]
Altre opzioni: -s [server NetWorker] -D [livello debug] -h
monitor
Elementi indispensabili: -p [politica]
Altre opzioni: -w [flusso di lavoro] -c [client] -g [gruppo] -d [dettagli] -n [non tabulare] -j [jobid] -s [server NetWorker] -D [livello debug] -h
file
di inputElementi indispensabili: -f [nome file]
Altre opzioni: [--stop_on_error -S <0/1; default:0 (Non fermare)>] [--stop_on_error -S <0/1; default:0 (Non fermare)>] -D [livello debug] -h
restart
Deve avere: -j [jobid] o -p [policy] -w [flusso di lavoro]
Altre opzioni: -s [server NetWorker] -D [livello debug] -h
migrare
Deve disporre di ciò di cui eseguire la migrazione: gruppo | schedule_clone | nas_device | vmware_policy
Altre opzioni: -s [server NetWorker] -D [livello debug] -h
Guida
ESEMPI DI RIGA DI COMANDO:
Elencare le policy nella datazone
nsrpolicy policy list
nsrpolicy
policy list Visualizzare le proprietà di un'azione:
nsrpolicy action display -p [policy] -w [workflow] -A [action]
nsrpolicy action display -p Mona -w Mona_wf -A backup
Visualizzare le proprietà di un gruppo:
nsrpolicy group display -g [gruppo]
nsrpolicy group display -g Felix
Disabilitare un'azione:
nsrpolicy azione update [tipo di azione sottotipo di backup] -p [policy] -w [workflow] -A [azione] -e no
nsrpolicy action update backup traditional -p FrankHoenikker -w FrankH -A backup -e no
Per modificare la pianificazione associata a un'azione:
nsrpolicy azione update [tipo di azione sottotipo di backup] -p [policy] -w [workflow] -A [azione] -t [pianificazione]
nsrpolicy action update backup traditional -p Mona -w Mona_wf -A backup -t full,incr,incr,incr,incr,incr,incr
Aggiungere un client a un gruppo utilizzando un file di input (l'istanza client deve già esistere):
Creare un file di input con il testo: 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"
Crea un nuovo flusso di lavoro con valori non predefiniti per comment, start-time e group:
nsrpolicy workflow create -p [policy] -w [workflow] -c [commento] -g [group] -S [ora di inizio]
nsrpolicy workflow create -p Mona -w Papa -c "Workflow for RedHat 6 clients" -g PapaMgroup -S "10:00"
Creare una nuova azione con valori non predefiniti per il pool di destinazione e la soglia di successo
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
Avviare un flusso di lavoro (Si noti che non è possibile avviare un'azione in questo modo. È necessario avviare l'intero flusso di lavoro).
nsrpolicy start -p [policy] -w [workflow]
nsrpolicy start -p Mona -w Mona_wf
Arrestare un flusso di lavoro (è possibile ottenere jobid pertinente utilizzando il comando "nsrpolicy monitor" - vedere di seguito):
nsrpolicy stop -j [jobid]
nsrpolicy stop -j 320819
Avviare un client in un flusso di lavoro:
nsrpolicy start -p [policy] -w [workflow] -c "[client]:[saveset]
nsrpolicy start -p Mona -w Mona_wf -c "vm-wego-231:/felix"
Monitorare l'esecuzione più recente dei flussi di lavoro in una policy:
nsrpolicy monitor -p [policy] -dn
nsrpolicy monitor -p mona -dn
Output dettagliato di un lavoro recente specifico:
nsrpolicy monitor -j [ID processo]
nsrpolicy monitor -j 290473
Per avviare un flusso di lavoro in modalità di debug, nsrpolicy non ha la stessa efficacia del comando nsrworkflow perché "nsrpolicy start" non registra l'output di debug nella cartella /nsr/logs/policy come nsrworkflow fa nel file raw.
nsrworkflow -p [policy] -w [workflow] -A "[action]"
nsrworkflow -D9 -p Newt -w newt1 -A "backup"
Il punto in cui si desidera inserire il debug dipende dalla parte precisa del processo di backup che è necessario esaminare in modo più dettagliato. Il comando nsrworkflow riportato sopra inserirà le operazioni savegrp lato server di NetWorker in D9 e invierà i dati di debug nel file raw in /nsr/logs/policy. Tuttavia, non passerà il flag di debug al processo di salvataggio lato client NetWorker. A tale scopo, è necessario modificare il campo "backup command" per il client. A tale scopo, è possibile utilizzare NMC oppure dalla riga di comando:
In questo modo il processo di salvataggio viene eseguito in modalità debug (D3 nell'esempio seguente) e i dati del log di debug vengono inviati alla cartella _logs /nsr/logs/policy/[policy name]/[workflow name]/.
NWserver121:> programma nsradmin
NetWorker administration.
Utilizzare il comando "help" per la guida, "visual" per la modalità a schermo intero.
nsradmin> . digitare : Client NSR; nome : vm-lego-231
Set
di query corrente nsradmin> update backup command : save -D3
backup command: save -D3;
Aggiornare? y
aggiornato l'ID risorsa 48.0.46.11.0.0.0.0.231.177.13.90.10.60.28.121(13)
comando di backup: save -D3;
Aggiornare? y
ID risorsa aggiornato 45.0.185.125.0.0.0.0.0.126.197.192.89.10.60.28.121(34)
comando di backup: save -D3;
Aggiornare? y
aggiornato l'ID risorsa 47.0.28.24.0.0.0.0.123.60.218.88.10.60.28.121(39)
comando di backup: save -D3;
Aggiornare? y
aggiornato l'ID risorsa 64.0.28.24.0.0.0.0.123.60.218.88.10.60.28.121(35)
comando di backup: save -D3;
Aggiornare? y
aggiornato l'ID risorsa 57.0.46.11.0.0.0.0.231.177.13.90.10.60.28.121(8)
comando di backup: save -D3;
Aggiornare? y
ID risorsa aggiornato 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
ESEMPI DI SCRIPT:
Questi script sono forniti come esempi di ciò che può essere scriptato con questo comando. Non devono essere implementate in un'ambiente di produzione senza test approfonditi.
LINUX:
Esempio 1: Elencare tutte le policy e i relativi flussi di lavoro
Questo script della shell esegue un ciclo attraverso l'elenco delle policy nella configurazione di NetWorker ed esegue il comando "nsrpolicy workflow list" su ciascuna di esse, in modo da generare un elenco di nomi di flussi di lavoro per ogni policy.
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
Esempio 2: Elencare tutte le policy e i relativi flussi di lavoro e azioni e il pool
di destinazioneQuesto script della shell esegue tre cicli per ottenere l'elenco di policy, flussi di lavoro e azioni. Vengono emessi i nomi di ciascuno di essi, nonché il parametro dello storage node di destinazione dell'azione.
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
"FLUSSO DI LAVORO: $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 "Pool di destinazione: $destpool"
done
done done
Esempio
3: eseguire un backup solo se esiste
una directory specifica Questo script della shell verifica se esiste una directory denominata /k7app. In tal caso, avvia il flusso di lavoro denominato newt1 e registra l'avvenuta operazione in un file di registro dedicato. Se la directory non esiste, il backup non viene eseguito e il fatto viene registrato nello stesso file di log. La stessa struttura di script può essere utilizzata per qualsiasi circostanza in cui si desidera eseguire un flusso di lavoro solo quando viene soddisfatta una condizione specifica.
#!/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 presente, quindi l'avvio del flusso di lavoro newt1 \n" >> $log
else
printf $DATE >> $log
printf " $dir non è presente, quindi non si avvia il flusso di lavoro newt1 \n">>$log fi
WINDOWS POWERSHELL:
Esempio 1: Elenco dei flussi di lavoro
Elenca le policy e i relativi flussi di lavoro scorrendo l'elenco di policy ed eseguendo il comando "nsrpolicy workflow list" per ogni policy.
$listp = nsrpolicy policy list
foreach ($i in $listp)
{
write-host "-----"
write-host "POLICY: $i"
write-host "FLUSSI DI LAVORO: "
nsrpolicy workflow list -p "$i
"}
Esempio 2: Elenco delle azioni
Vengono creati tre cicli. Un ciclo per elencare le policy, quindi un ciclo per elencare tutti i flussi di lavoro per ogni policy e infine un ciclo per elencare tutte le azioni per ogni flusso di lavoro.
$listp = nsrpolicy policy list
foreach ($p in $listp)
{
write-host "-----"
write-host "POLICY: $p"
write-host "FLUSSI DI LAVORO: "
$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"
}
}
}
Esempio 3 Eseguire un backup solo se esiste
una directory specifica Questo script verifica se esiste una directory denominata C:\basicdata. In tal caso, avvia il flusso di lavoro denominato Star e registra l'avvenuta operazione in un file di registro dedicato. Se la directory non esiste, il backup non viene eseguito e il fatto viene registrato nello stesso file di log. La stessa struttura di script può essere utilizzata per qualsiasi circostanza in cui si desidera eseguire un flusso di lavoro solo quando viene soddisfatta una condizione specifica.
$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
"stella avviata" | Out-File $log -append -force
}
else
{
"------------------" | Out-File $log -Append -Force
$LogTime | Out-File $log -Append -Force
"La stella non è stata avviata perché $dir non esiste" | Out-File $log -append -force
}