NetWorker: Verwendung des Befehls nsrpolicy
Zusammenfassung: Dieser Artikel enthält Informationen zur Verwendung des Befehls NetWorker nsrpolicy zum Durchführen von NetWorker-Verwaltungsaufgaben.
Weisungen
Bei der nsrpolicy ist ein administrativer NetWorker-Befehl, der zum Managen und Überwachen von NetWorker-Policies verwendet wird. Viele der gleichen Funktionen werden über NetWorker Management (NMC) und Web UI (NWUI) ausgeführt. Jedoch nsrpolicy Bietet Administratoren Befehlszeilenfunktionen.
nsrpolicy Muss unter einer der folgenden Bedingungen ausgeführt werden:
- Sie führen den Befehl über eine Eingabeaufforderung mit erhöhten Rechten aus. Entweder Administratorbefehl/PowerShell-Eingabeaufforderung unter Windows oder root/
sudoShell unter Linux. - Sie führen den Befehl über eine Eingabeaufforderung ohne höhere Rechte aus, haben jedoch ein NetWorker-Authentifizierungstoken ausgegeben:
nsrlogin -u USERNAME
nsrlogin Gibt ein zeitbasiertes Authentifizierungstoken für die NetWorker-Administration mithilfe von NetWorker-Nutzeranmeldedaten aus. Wenn Sie nsrloginwählen, ist es wichtig, die Sitzung mit nsrlogout wenn die Tätigkeiten abgeschlossen sind. Dadurch wird verhindert, dass veraltete Token nachfolgende Befehle beeinträchtigen.
Allgemeine Nutzungsübersicht:
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
Beispiele:
Listen Sie Objekte in der Datenzone auf:
nsrpolicy [object] list
Objekte: Policy, Workflow, Aktion
nsrpolicy policy list nsrpolicy workflow list -p "VMware Protection" nsrpolicy action list -p "VMware Protection" -w "Full VM"
Zeigen Sie die Eigenschaften einer Aktion an:nsrpolicy action display -p [policy] -w [workflow] -A [action]
nsrpolicy action display -p "VMware Protection" -w "Full VM" -A backup
Zeigen Sie die Eigenschaften einer Gruppe an:nsrpolicy group display -g [group]
nsrpolicy group display -g "VMware Protection - Full VM"
Deaktivieren oder aktivieren Sie eine Aktion: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
So ändern Sie den einer Aktion zugeordneten Zeitplan: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
Hinzufügen eines Clients zu einer Gruppe mithilfe einer Eingabedatei (eine Clientinstanz muss bereits vorhanden sein):
Erstellen Sie eine Eingabedatei mit dem Text: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
Erstellen Sie einen neuen Workflow mit nicht standardmäßigen Werten für Kommentar, Startzeit und Gruppe: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"
Erstellen Sie eine neue Aktion mit nicht standardmäßigen Werten für den Zielpool und dem Erfolgsschwellenwert: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
Starten Sie einen Workflow (Sie können keine Aktion auf diese Weise starten. Sie müssen den gesamten Workflow starten).nsrpolicy start -p [policy] -w [workflow]
nsrpolicy start -p "Client Protection" -w "Traditional Client - Linux"
Beenden Sie einen Workflow:nsrpolicy stop -p [policy] -w [workflow]
nsrpolicy stop -p "Client Protection" -w "Traditional Client - Linux"
jobkillverwalten:
[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
Starten Sie einen Client in einem Workflow:nsrpolicy start -p [policy] -w [workflow] -c "[client]:[saveset]
nsrpolicy start -p "Client Protection" -w "Traditional Client - Linux" -c "rhel-client03.amer.lan:All"
Überwachen Sie die letzte Ausführung der Workflows in einer Policy:nsrpolicy monitor -p [policy] -dn
nsrpolicy monitor -p "Client Protection" -dn
nsrwatch Befehl zum Überwachen von Sitzungen.
Detaillierte Jobausgabe für einen bestimmten aktuellen Job:nsrpolicy monitor -j [job id]
nsrpolicy monitor -j 290473
jobqueryverwalten:
jobquery
print type: backup action job
So starten Sie einen Workflow im Debug-Modus: nsrpolicy ist nicht so effektiv wie die nsrworkflow Befehl, weil 'nsrpolicy start' protokolliert keine Debug-Ausgabe in der /nsr/logs/policy Ordner, der nsrworkflow Wille zur .raw zu verwenden.nsrworkflow -D[Debug Level] -p [policy] -w [workflow] -A "[action]"
nsrworkflow -D9 -p "Client Protection" -w "Traditional Client - Linux"
Weitere Informationen zu NetWorker-Debug-Ebenen finden Sie unter: NetWorker: Debug-Informationsebenen
nsrworkflow debug debuggt nur die serverseitigen NetWorker-Meldungen. Es fügt kein Debugging zu Vorgängen hinzu, die auf dem Client/System durchgeführt werden, das das Backup durchführt.
Beispiel für die Aktivierung save -D3 Backups auf einem NetWorker-Client mithilfe des Befehlszeilendienstprogramms 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)
Wenn im obigen Beispiel der Workflow für den Client gestartet wird, wird die save Der Prozess wird auf dem Client mit aktiviertem Debuggen gestartet (-D3) im vorliegenden Fall.
Informationen zum Debuggen bestimmter Backupfunktionen finden Sie unter: NetWorker: Anleitung zum Debuggen von Backupvorgängen
Protokollierung:
Alle Policy- und Workflowbackups werden im NetWorker-Protokollverzeichnis protokolliert:
Linux: /nsr/logs/policy/POLICY_NAME
Windows (Standardeinstellung): C:\Program Files\EMC NetWorker\nsr\logs\policy\POLICY_NAME
Allgemeine Servermeldungen werden im daemon.raw protokolliert:
Linux: /nsr/logs/daemon.raw
Windows (Standardeinstellung): C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw
NetWorker: So verwenden Sie nsr_render_log zum Rendern .raw Protokolldateien
jobsdb Aufbewahrungsfrist (Standard 72 Stunden). Protokolle, die die Aufbewahrungsfrist überschritten haben, werden während Ablaufaufgaben aus dem System entfernt.
Skriptbeispiele:
nsrpolicy Funktionen, die über die Single-Line-Nutzung hinausgehen, und wie man seinen NetWorker-Server über die CLI verwalten kann. Implementieren/verwenden Sie keine Skripte in Ihrer Umgebung, ohne die Funktionen zu testen oder zu verstehen. Der NetWorker-Support bietet oder stellt keine Skriptlösungen oder Skriptunterstützung bereit.
Linux:
Beispiel 1: Listen Sie alle Policies und deren Workflows auf. Dieses Shell-Skript führt eine Schleife durch die Liste der Policies in der NetWorker-Konfiguration aus und führt den Befehl "nsrpolicy workflow list" für jeden, sodass eine Liste der Workflow-Namen für jede Policy ausgegeben wird.
#!/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
Beispiel 2: Listen Sie alle Policies und deren Workflows und Aktionen sowie den Zielpool auf. Dieses Shell-Skript führt drei Schleifen aus, um die Liste der Policies, Workflows und Aktionen abzurufen. Die Namen der einzelnen Storage-Nodes werden ausgegeben und der Ziel-Storage-Node-Parameter der Aktion.
#!/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:
Beispiel 1: Liste der Workflows. Listet die Policies und ihre Workflows auf, indem die Policy-Liste durchlaufen und der Befehl "nsrpolicy workflow list" für jede Policy ausgeführt wird.
$listp = nsrpolicy policy list
foreach ($i in $listp)
{
write-host "-----"
write-host "POLICY: $i"
write-host "WORKFLOWS: "
nsrpolicy workflow list -p "$i"
}
Beispiel 2: Liste der Aktionen. Es werden drei Schleifen erstellt. Eine Schleife zum Auflisten der Policies, dann eine Schleife zum Auflisten aller Workflows für jede Policy und dann eine Schleife zum Auflisten aller Aktionen für jeden Workflow.
$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"
}
}
}Weitere Informationen
Der erste Schritt besteht darin, sich beim NetWorker-Server über die Befehlszeile mit dem Befehl nsrlogin und denselben Zugangsdaten anzumelden, die Sie auch für die Anmeldung bei der NetWorker Management Console verwenden. Wenn Sie den Befehl nsrlogin ausführen, kontaktiert der NetWorker-Host den NetWorker AuthenticationService, um die Anmeldedaten der Nutzeranmeldung zu validieren.
nsrlogin -u [Benutzername] - P [Kennwort]
Für den Befehl nsrpolicy stehen auf jeder Ebene eine Reihe unterschiedlicher Optionen zur Verfügung. Wenn Sie bei jedem Schritt die Eingabetaste drücken, erhalten Sie die vollständige Liste der verfügbaren Optionen für den nächsten Teil Ihres Befehls:
nsrpolicy
policy
create | delete | display | update | list
workflow
create | delete | display | update | list
action
create | delete | display |
list action create | delete | display | listgroup
create | delete | display | update
startMuss vorhanden sein: -p [Richtlinie] -w [Arbeitsablauf]
Andere Optionen (NetWorker 9.2 und höher für Option -c): -c { <client_name1:[save_set_path_1; save_set_path_2],client_name2...> -s [NetWorker-Server] -D [Debug-Ebene] -h
aufhören
Muss vorhanden sein: Entweder -j [jobid] oder -p [policy] -w [workflow]
Weitere Optionen: -s [NetWorker-Server] -D [Debug-Ebene] -h
Monitor
Muss vorhanden sein: -p [Richtlinie]
Weitere Optionen: -w [Workflow] -c [Client] -g [Gruppe] -d [Details] -n [nicht tabellarisch] -j [JobID] -s [NetWorker-Server] -D [Debug-Level] -h
Eingabedatei
Muss vorhanden sein: -f [Dateiname]
Weitere Optionen: [--stop_on_error -S <0/1; default:0 (nicht beenden)>] [--stop_on_error -S <0/1; default:0 (nicht beenden)>] -D [Debug-Stufe] -h
restart
Muss vorhanden sein: Entweder -j [jobid] oder -p [policy] -w [workflow]
Weitere Optionen: -s [NetWorker-Server] -D [Debug-Ebene] -h
wandern
Muss vorhanden sein, was migriert werden soll: group | schedule_clone | nas_device | vmware_policy
Weitere Optionen: -s [NetWorker-Server] -D [Debug-Ebene] -h
Hilfe
BEFEHLSZEILENBEISPIELE:
Auflisten von Policies in der Datenzone
nsrpolicy policy list
nsrpolicy policy list
Zeigt die Eigenschaften einer Aktion an:
nsrpolicy action display -p [policy] -w [Workflow] -A [action]
nsrpolicy action display -p Mona -w Mona_wf -A backup
Zeigen Sie die Eigenschaften einer Gruppe an:
nsrpolicy group display -g [Gruppe]
nsrpolicy group display -g Felix
Deaktivieren einer Aktion:
nsrpolicy action update [Aktionstyp Backup-Subtype] -p [policy] -w [Workflow] -A [action] -e no
nsrpolicy action update backup traditional -p FrankHoenikker -w FrankH -A backup -e no
So ändern Sie den einer Aktion zugeordneten Zeitplan:
nsrpolicy action update [Aktionstyp Backup-Untertyp] -p [policy] -w [Workflow] -A [Aktion] -t [Zeitplan]
nsrpolicy action update backup traditional -p Mona -w Mona_wf -A backup -t full,incr,incr,incr,incr
Hinzufügen eines Clients zu einer Gruppe mithilfe einer Eingabedatei (Clientinstanz muss bereits vorhanden sein):
Erstellen Sie eine Eingabedatei mit dem Text: 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 "[Pfad zur Eingabedatei]"
nsrpolicy input-file -f "/nsr/AddAlicetoTheHook.input"
Erstellen Sie einen neuen Workflow mit nicht standardmäßigen Werten für Kommentar, Startzeit und Gruppe:
nsrpolicy workflow create -p [Richtlinie] -w [Workflow] -c [Kommentar] -g [Gruppe] -S [Startzeit]
nsrpolicy workflow create -p Mona -w Papa -c "Workflow für RedHat 6-Clients" -g PapaMgroup -S "10:00"
Erstellen Sie eine neue Aktion mit nicht standardmäßigen Werten für den Zielpool und den Erfolgsschwellenwert
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
Starten Sie einen Workflow (Beachten Sie, dass Sie auf diese Weise keine Aktion starten können. Sie müssen den gesamten Workflow starten).
nsrpolicy start -p [policy] -w [Workflow]
nsrpolicy start -p Mona -w Mona_wf
Beenden Sie einen Workflow (Sie können die relevante Job-ID über den Befehl "nsrpolicy monitor" abrufen - siehe unten):
nsrpolicy stop -j [jobID]
nsrpolicy stop -j 320819
Starten Sie einen Client in einem Workflow:
nsrpolicy start -p [policy] -w [workflow] -c "[client]:[saveset]
nsrpolicy start -p Mona -w Mona_wf -c "vm-wego-231:/felix"
Überwachen Sie die letzte Ausführung der Workflows in einer Policy:
nsrpolicy monitor -p [Richtlinie] -dn
nsrpolicy monitor -p Mona -dn
Detaillierte Jobausgabe für einen bestimmten aktuellen Job:
nsrpolicy monitor -j [Job-ID]
nsrpolicy monitor -j 290473
Um einen Workflow im Debug-Modus zu starten, ist nsrpolicy nicht so effektiv wie der Befehl nsrworkflow, da die Debugausgabe von "nsrpolicy start" nicht im Ordner /nsr/logs/policy protokolliert wird, während nsrworkflow dies in der Raw-Datei tut.
nsrworkflow -p [policy] -w [workflow] -A "[action]"
nsrworkflow -D9 -p Newt -w newt1 -A "backup"
Wohin Sie das Debuggen legen möchten, hängt von dem genauen Teil des Backup-Prozesses ab, den Sie sich genauer ansehen müssen. Mit dem obigen nsrworkflow-Befehl werden die serverseitigen Savegrp-Vorgänge von NetWorker in D9 abgelegt und die Debug-Daten werden in der Raw-Datei in /nsr/logs/policy ausgegeben. Das Debug-Flag wird jedoch nicht an den speicherseitigen Speicherprozess des NetWorker-Clients übergeben. Dazu müssen Sie das Feld "Backup-Befehl" für den Client ändern. Sie können dafür die NMC verwenden oder über die Befehlszeile:
Dies führt dazu, dass der Speicherprozess im Debug-Modus ausgeführt wird (D3 im folgenden Beispiel) und die Debug-Protokolldaten in /nsr/logs/policy/[policy-Name]/[Workflowname]/ _logs Ordner ausgegeben werden.
NWserver121:> nsradmin
NetWorker-Verwaltungsprogramm.
Verwenden Sie den Befehl "help" für Hilfe, "visual" für den Vollbildmodus.
nsradmin> . type : NSR-Kunde; Name : vm-lego-231
Aktueller Abfragesatz
nsradmin> update backup command : save -D3
backup command: save -D3;
Aktualisieren? y
aktualisierte Ressourcen-ID 48.0.46.11.0.0.0.0.231.177.13.90.10.60.28.121(13)
Backup-Befehl: save -D3;
Aktualisieren? y
aktualisierte Ressourcen-ID 45.0.185.125.0.0.0.0.126.197.192.89.10.60.28.121(34)
Backup-Befehl: save -D3;
Aktualisieren? y
aktualisierte Ressourcen-ID 47.0.28.24.0.0.0.0.123.60.218.88.10.60.28.121(39)
Backup-Befehl: save -D3;
Aktualisieren? y
aktualisierte Ressourcen-ID 64.0.28.24.0.0.0.0.123.60.218.88.10.60.28.121(35)
Backup-Befehl: save -D3;
Aktualisieren? y
aktualisierte Ressourcen-ID 57.0.46.11.0.0.0.0.231.177.13.90.10.60.28.121(8)
Backup-Befehl: save -D3;
Aktualisieren? y
aktualisierte Ressourcen-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
SKRIPTBEISPIELE:
Diese Skripte sind Beispiele dafür, was mit diesem Befehl geskriptet werden kann. Sie sollten nicht ohne gründliche Tests in einer Produktionsumgebung implementiert werden.
LINUX:
Beispiel 1: Auflisten aller Policies und ihrer Workflows
Dieses Shell-Skript führt eine Schleife durch die Liste der Policies in der NetWorker-Konfiguration aus und führt den Befehl "nsrpolicy workflow list" für jede Policy aus, sodass eine Liste der Workflownamen für jede Policy ausgegeben wird.
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
Beispiel 2: Auflisten aller Policies und ihrer Workflows und Aktionen sowie des Zielpools
Dieses Shell-Skript führt drei Schleifen aus, um die Liste der Policies, Workflows und Aktionen abzurufen. Es werden die Namen der einzelnen Storage-Nodes sowie der Ziel-Storage-Node-Parameter der Aktion ausgegeben.
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 "Zielpool: $destpool"
done
done done
Beispiel
3: Ausführen eines Backups nur dann, wenn ein bestimmtes Verzeichnis vorhanden ist
Dieses Shell-Skript prüft, ob ein Verzeichnis mit dem Namen /k7app vorhanden ist. Wenn dies der Fall ist, startet er den Workflow newt1 und protokolliert dies in einer dedizierten Protokolldatei. Wenn das Verzeichnis nicht vorhanden ist, wird das Backup nicht ausgeführt. Diese Tatsache wird in derselben Protokolldatei protokolliert. Die gleiche Skriptstruktur kann für alle Situationen verwendet werden, in denen ein Workflow nur dann ausgeführt werden soll, wenn eine bestimmte Bedingung erfüllt ist.
#!/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 vorhanden ist, daher wird der newt1-Workflow gestartet \n" >> $log
sonst
printf $DATE >> $log
printf " $dir ist nicht vorhanden, daher wird der newt1-Workflow nicht gestartet \n">>$log fi
WINDOWS POWERSHELL:
Beispiel 1: Liste der Workflows
Listet die Policies und ihre Workflows auf, indem die Policy-Liste durchlaufen und der Befehl "nsrpolicy workflow list" für jede Policy ausgeführt wird.
$listp = nsrpolicy policy list
foreach ($i in $listp)
{
write-host "-----"
write-host "POLICY: $i"
write-host"WORKFLOWS: "
nsrpolicy workflow list -p "$i"
}Beispiel
2: Liste der Aktionen
Es werden drei Schleifen erstellt. Eine Schleife zum Auflisten der Policies, dann eine Schleife zum Auflisten aller Workflows für jede Policy und dann eine Schleife zum Auflisten aller Aktionen für jeden Workflow.
$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"
}
}
}
Beispiel 3: Ausführen eines Backups nur dann, wenn ein bestimmtes Verzeichnis vorhanden
ist Dieses Skript prüft, ob ein Verzeichnis namens C:\basicdata vorhanden ist. Wenn dies der Fall ist, startet er den Workflow mit dem Namen Star und protokolliert dies in einer dedizierten Protokolldatei. Wenn das Verzeichnis nicht vorhanden ist, wird das Backup nicht ausgeführt. Diese Tatsache wird in derselben Protokolldatei protokolliert. Die gleiche Skriptstruktur kann für alle Situationen verwendet werden, in denen ein Workflow nur dann ausgeführt werden soll, wenn eine bestimmte Bedingung erfüllt ist.
$dir = "C:\basicdata"
$log = "C:\Programme\EMC NetWorker\nsr\logs\star.log"
$LogTime = Get-Date -Format "MM-dd-yyyy_hh-mm-ss"
if ( Testpfad "$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
"Stern nicht gestartet, weil $dir nicht existiert" | Out-File $log -append -force
}