NetWorker: Jak korzystać z polecenia nsrpolicy
Podsumowanie: Ten artykuł zawiera informacje na temat korzystania z polecenia nsrpolicy NetWorker do wykonywania zadań administracyjnych NetWorker.
Instrukcje
Pakiet nsrpolicy Polecenie to administracyjne polecenie NetWorker, które służy do zarządzania i monitorowania zasad NetWorker. Wiele z tych samych funkcji jest wykonywanych z poziomu NetWorker Management (NMC) i interfejsu sieciowego (NWUI); Jednak nsrpolicy Udostępnia administratorom funkcje wiersza polecenia.
nsrpolicy musi być uruchamiany w jednym z następujących warunków:
- Polecenie jest uruchamiane z wiersza polecenia z podwyższonym poziomem uprawnień. Polecenie administratora/wiersz polecenia PowerShell w systemie Windows lub root/
sudopowłoka w systemie Linux. - Uruchamiasz polecenie z wiersza poleceń bez podwyższonego poziomu uprawnień, ale wydano token uwierzytelniania NetWorker:
nsrlogin -u USERNAME
nsrlogin Wystawia token uwierzytelniania opartego na czasie na potrzeby administrowania NetWorker przy użyciu poświadczeń użytkownika NetWorker. Jeśli używasz nsrlogin, ważne jest, aby zakończyć sesję nsrlogout po zakończeniu działań. Zapobiega to zakłócaniu kolejnych poleceń przez przestarzałe tokeny.
Ogólny przegląd użytkowania:
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
Przykłady:
Lista obiektów w strefie danych:
nsrpolicy [object] list
Obiekty: polityka, przepływ pracy, akcja
nsrpolicy policy list nsrpolicy workflow list -p "VMware Protection" nsrpolicy action list -p "VMware Protection" -w "Full VM"
Wyświetlanie właściwości akcji:nsrpolicy action display -p [policy] -w [workflow] -A [action]
nsrpolicy action display -p "VMware Protection" -w "Full VM" -A backup
Wyświetlanie właściwości grupy:nsrpolicy group display -g [group]
nsrpolicy group display -g "VMware Protection - Full VM"
Wyłącz lub włącz działanie: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
Aby zmienić harmonogram skojarzony z akcją: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
Dodaj klienta do grupy przy użyciu pliku wejściowego (instancja klienta musi już istnieć):
Utwórz plik wejściowy z tekstem: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
Utwórz nowy przepływ pracy z niedomyślnymi wartościami komentarza, czasu rozpoczęcia i grupy: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"
Utwórz nową akcję z wartościami innymi niż domyślne dla puli docelowej i progu powodzenia: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
Uruchom przepływ pracy (nie można uruchomić akcji w ten sposób. Należy uruchomić cały przepływ pracy).nsrpolicy start -p [policy] -w [workflow]
nsrpolicy start -p "Client Protection" -w "Traditional Client - Linux"
Zatrzymywanie przepływu pracy: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
Uruchom jednego klienta w przepływie pracy:nsrpolicy start -p [policy] -w [workflow] -c "[client]:[saveset]
nsrpolicy start -p "Client Protection" -w "Traditional Client - Linux" -c "rhel-client03.amer.lan:All"
Monitorowanie najnowszego uruchomienia przepływów pracy w zasadach:nsrpolicy monitor -p [policy] -dn
nsrpolicy monitor -p "Client Protection" -dn
nsrwatch polecenie monitorowania sesji.
Szczegółowe dane wyjściowe zadania dla konkretnego ostatniego zadania:nsrpolicy monitor -j [job id]
nsrpolicy monitor -j 290473
jobquery:
jobquery
print type: backup action job
Aby uruchomić przepływ pracy w trybie debugowania, nsrpolicy nie jest tak skuteczna jak nsrworkflow polecenie, ponieważ 'nsrpolicy start' nie rejestruje danych wyjściowych debugowania do /nsr/logs/policy folder, który nsrworkflow wola do .raw programu NetWorker.nsrworkflow -D[Debug Level] -p [policy] -w [workflow] -A "[action]"
nsrworkflow -D9 -p "Client Protection" -w "Traditional Client - Linux"
Aby uzyskać więcej informacji na temat poziomów debugowania NetWorker, zobacz: NetWorker: Poziomy informacji debugowania
nsrworkflow debug debuguje tylko komunikaty po stronie serwera NetWorker. Nie dodaje debugowania do operacji wykonywanych na kliencie/systemie wykonującym kopię zapasową.
Przykład włączenia save -D3 tworzenie kopii zapasowych na kliencie NetWorker przy użyciu narzędzia wiersza poleceń 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)
W powyższym przykładzie, gdy przepływ pracy dla klienta jest uruchamiany, save proces jest uruchamiany na kliencie z włączonym debugowaniem (-D3) w niniejszej sprawie.
Aby debugować określone funkcje tworzenia kopii zapasowych, zobacz: NetWorker: debugowanie operacji tworzenia kopii zapasowych
Rejestrowania:
Wszystkie kopie zapasowe zasad i przepływów pracy są rejestrowane w katalogu dzienników NetWorker:
Linux: /nsr/logs/policy/POLICY_NAME
Windows (domyślnie): C:\Program Files\EMC NetWorker\nsr\logs\policy\POLICY_NAME
Ogólne komunikaty serwera są rejestrowane w daemon.raw:
Linux: /nsr/logs/daemon.raw
Windows (domyślnie): C:\Program Files\EMC NetWorker\nsr\logs\daemon.raw
NetWorker: Jak używać nsr_render_log do renderowania plików dziennika .raw
jobsdb okres przechowywania (domyślnie 72 godziny). Dzienniki, po upływie okresu retencji, są usuwane z systemu podczas wykonywania zadań wygaśnięcia.
Przykłady skryptów:
nsrpolicy możliwości wykraczające poza użycie jednego wiersza i sposób administrowania serwerem NetWorker z poziomu interfejsu wiersza poleceń. Nie implementuj/nie używaj skryptów w swoim środowisku bez przetestowania lub zrozumienia funkcji. Pomoc techniczna NetWorker nie oferuje ani nie zapewnia żadnych rozwiązań do tworzenia skryptów ani obsługi skryptów.
Linux:
Przykład 1: Wymień wszystkie zasady i ich przepływy pracy. Ten skrypt powłoki uruchamia w pętli listę zasad w konfiguracji NetWorker i uruchamia polecenie "nsrpolicy workflow list" dla każdej z nich, tak aby wyświetlić listę nazw przepływów pracy dla każdej zasady.
#!/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
Przykład 2: Wymień wszystkie zasady i ich przepływy pracy i akcje oraz pulę docelową. Ten skrypt powłoki uruchamia trzy pętle, aby uzyskać listę zasad, przepływów pracy i akcji. Nazwy poszczególnych z nich są wyprowadzane, a parametr docelowego węzła pamięci masowej akcji.
#!/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:
Przykład 1: Lista przepływów pracy. Wyświetla listę zasad i ich przepływów pracy poprzez zapętlenie listy zasad i uruchomienie polecenia "nsrpolicy workflow list" dla każdej zasady.
$listp = nsrpolicy policy list
foreach ($i in $listp)
{
write-host "-----"
write-host "POLICY: $i"
write-host "WORKFLOWS: "
nsrpolicy workflow list -p "$i"
}
Przykład 2: Lista działań. Tworzone są trzy pętle. Pętla do wyświetlania listy zasad, a następnie pętla do wyświetlania listy wszystkich przepływów pracy dla każdej zasady, a następnie pętla do wyświetlania listy wszystkich akcji dla każdego przepływu pracy.
$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"
}
}
}Dodatkowe informacje
Pierwszym krokiem jest zalogowanie się do serwera NetWorker w wierszu polecenia za pomocą polecenia nsrlogin przy użyciu tych samych poświadczeń, które są używane do logowania się do konsoli NetWorker Management Console.Po uruchomieniu polecenia nsrlogin host NetWorker kontaktuje się z NetWorker AuthenticationService w celu zweryfikowania poświadczeń logowania użytkownika.
nsrlogin -u [nazwa użytkownika] - p [hasło]
Polecenie nsrpolicy udostępnia wiele różnych opcji na każdym poziomie. Naciskanie Enter w każdym kroku spowoduje wyświetlenie pełnej listy dostępnych opcji dla następnej części polecenia:
nsrpolicy
policypolicy
create | delete | display | update | list
workflowcreate | delete | update | listaction
create | delete | update | list
action
create | delete | display | update | list
groupcreate | delete | display | update list group
create | delete | display | update
Musi mieć: -p [polityka] -w [przepływ pracy]
Inne opcje (NetWorker 9.2 i nowsze dla opcji -c): -c { <client_name1:[save_set_path_1; save_set_path_2],client_name2...> -s [Serwer NetWorker] -D [poziom debugowania] -h
zatrzymać
Musi mieć: -j [id_zadania] lub -p [zasada] -w [przepływ pracy]
Inne opcje: -s [Serwer NetWorker] -D [poziom debugowania] -h
monitor
Musi mieć: -p [polityka]
Inne opcje: -w [workflow] -c [klient] -g [grupa] -d [szczegóły] -n [nietabelaryczne] -j [id_zadania] -s [Serwer NetWorker] -D [poziom debugowania] -h
plik-wejściowy
Musi mieć: -f [nazwa pliku]
Inne opcje: [--stop_on_error -S <0/1; default:0 (Nie zatrzymuj>)] [--stop_on_error -S <0/1; default:0 (Nie zatrzymuj>)] -D [poziom debugowania] -h
restart
Musi mieć: -j [id_zadania] lub -p [zasada] -w [przepływ pracy]
Inne opcje: -s [Serwer NetWorker] -D [poziom debugowania] -h
migrować
Wymagane dane do zmigrowania: group | schedule_clone | nas_device | vmware_policy
Inne opcje: -s [Serwer NetWorker] -D [poziom debugowania] -h
Pomoc
PRZYKŁADY WIERSZA POLECEŃ:
Wyświetlanie listy zasad w strefie
danychnsrpolicy policy policy lista
zasad nsrpolicy Wyświetlanie
właściwości operacji:
nsrpolicy action display -p [zasady] -w [przepływ pracy] -A [akcja]
nsrpolicy action display -p Mona -w Mona_wf -A kopia zapasowa
Wyświetlanie właściwości grupy:
nsrpolicy group display -g [grupa]
nsrpolicy group display -g Felix
Wyłącz działanie:
nsrpolicy action update [typ akcji podtyp kopii zapasowej] -p [zasady] -w [przepływ pracy] -A [akcja] -e nie
nsrpolicy action update backup -p FrankHoenikker -w FrankH -A backup -e no
Aby zmienić harmonogram skojarzony z akcją:
nsrpolicy action update [podtyp akcji kopii zapasowej] -p [zasady] -w [przepływ pracy] -A [akcja] -t [harmonogram]
nsrpolicy action update backup -p Mona -w Mona_wf -A backup -t full,incr,incr,incr,incr,incr,incr,incr
Dodaj klienta do grupy przy użyciu pliku wejściowego (wystąpienie klienta musi już istnieć):
Utwórz plik wejściowy z tekstem: group update client -g [grupa] --add_clnt_list [klient]:[saveset]
cat AddAlicetoTheHook.input
group update client -g theHook --add_clnt_list vm-lego-231:/alice
nsrpolicy plik-wejściowy -f "[ścieżka do pliku wejściowego]"
nsrpolicy plik-wejściowy -f "/nsr/AddAlicetoTheHook.input"
Utwórz nowy przepływ pracy z niedomyślnymi wartościami dla komentarza, czasu rozpoczęcia i grupy:
nsrpolicy workflow create -p [zasady] -w [przepływ pracy] -c [komentarz] -g [grupa] -S [czas rozpoczęcia]
nsrpolicy workflow create -p Mona -w Papa -c "Przepływ pracy dla klientów RedHat 6" -g PapaMgroup -S "10:00"
Utwórz nową akcję z wartościami innymi niż domyślne dla puli docelowej i progu
powodzenia nsrpolicy action create [typ akcji podtyp kopii zapasowej] -p [zasada] -w [przepływ pracy] -A [akcja] -o [pula docelowa] -u [próg powodzenia]
nsrpolicy action create backup traditional -p Mona -w Papa -A papabackup -o SanLorenzoDDPool -u success
Rozpocznij przepływ pracy (Pamiętaj, że nie możesz uruchomić akcji w ten sposób. Należy uruchomić cały przepływ pracy).
nsrpolicy start -p [zasady] -w [przepływ pracy]
nsrpolicy start -p Mona -w Mona_wf
Zatrzymaj przepływ pracy (możesz uzyskać odpowiedni identyfikator zadania za pomocą komandy 'nsrpolicy monitor' - patrz poniżej):
nsrpolicy stop -j [identyfikator zadania]
nsrpolicy stop -j 320819
Uruchom jednego klienta w przepływie pracy:
nsrpolicy start -p [zasady] -w [przepływ pracy] -c "[klient]:[zestaw zapisz]
nsrpolicy start -p Mona -w Mona_wf -c "vm-wego-231:/felix"
Monitorowanie najnowszego uruchomienia przepływów pracy w zasadach:
nsrpolicy monitor -p [policy] -dn
nsrpolicy monitor -p Mona -dn
Szczegółowe dane wyjściowe zadania dla konkretnego ostatniego zadania:
nsrpolicy monitor -j [identyfikator zadania]
nsrpolicy monitor -j 290473
Aby uruchomić przepływ pracy w trybie debugowania, nsrpolicy nie jest tak skuteczny jak polecenie nsrworkflow, ponieważ "nsrpolicy start" nie zarejestruje danych wyjściowych debugowania w folderze /nsr/logs/policy, które nsrworkflow będą rejestrować w pliku raw.
nsrworkflow -p [zasada] -w [przepływ pracy] -A "[działanie]"
nsrworkflow -D9 -p Newt -w newt1 -A "kopia zapasowa"To, gdzie chcesz umieścić debugowanie,
zależy od dokładnej części procesu tworzenia kopii zapasowej, której należy przyjrzeć się bardziej szczegółowo. Powyższe polecenie nsrworkflow umieści operacje savegrp po stronie serwera NetWorker w D9 i wyprowadzi dane debugowania do nieprzetworzonego pliku w /nsr/logs/policy. Nie przekaże jednak flagi debugowania do procesu zapisywania po stronie NetWorker-klient. W tym celu należy zmodyfikować pole "backup command" dla klienta. Można użyć do tego NMC lub z wiersza poleceń:
Spowoduje to uruchomienie procesu zapisywania w trybie debugowania (D3 w poniższym przykładzie) i wyprowadzenie danych dziennika debugowania do folderu /nsr/logs/policy/[nazwa zasady]/[nazwa przepływu pracy]/ _logs.
NWserver121:> program administracyjny nsradmin
NetWorker.
Użyj polecenia "help", aby uzyskać pomoc, lub "visual", aby przejść do trybu pełnoekranowego.
nsradmin> . wpisz : Klient NSR; nazwa : vm-lego-231
Bieżące zapytanie ustaw
nsradmin> update polecenie kopii zapasowej : save -D3
polecenie kopii zapasowej: save -D3;
Aktualizacja? y
zaktualizowany identyfikator zasobu 48.0.46.11.0.0.0.0.231.177.13.90.10.60.28.121(13)
polecenie kopii zapasowej: save -D3;
Aktualizacja? y
zaktualizowany identyfikator zasobu 45.0.185.125.0.0.0.0.126.197.192.89.10.60.28.121(34)
polecenie kopii zapasowej: save -D3;
Aktualizacja? y
zaktualizowany identyfikator zasobu 47.0.28.24.0.0.0.0.123.60.218.88.10.60.28.121(39)
polecenie kopii zapasowej: save -D3;
Aktualizacja? y
zaktualizowany identyfikator zasobu 64.0.28.24.0.0.0.0.123.60.218.88.10.60.28.121(35)
polecenie kopii zapasowej: save -D3;
Aktualizacja? y
zaktualizowany identyfikator zasobu 57.0.46.11.0.0.0.0.231.177.13.90.10.60.28.121(8)
polecenie kopii zapasowej: save -D3;
Aktualizacja? y
zaktualizowany identyfikator zasobu 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
PRZYKŁADY SKRYPTÓW:
Te skrypty są podane jako przykłady tego, co można oskryptować za pomocą tego polecenia. Nie powinny być wdrażane w środowisku produkcyjnym bez dokładnego przetestowania.
LINUX:
Przykład 1: Wymień wszystkie zasady i ich przepływy
pracyTen skrypt powłoki uruchamia w pętli listę zasad w konfiguracji NetWorker i uruchamia polecenie "nsrpolicy workflow list" dla każdej z nich, aby uzyskać listę nazw przepływów pracy dla każdej zasady.
cat listofworkflows.sh
#!/usr/bin/sh
IFS=$'\n'fullpolicylist
=('nsrpolicy policy list')
for lp in "${fullpolicylist[@]}"
do
echo " "
echo "POLICY: $lp"
echo "Przepływy pracy"
nsrpolicy lista przepływów pracy -p "$lp"
done
Przykład 2: Wyświetl listę wszystkich zasad oraz ich przepływów pracy i akcji oraz pulę
docelowąTen skrypt powłoki uruchamia trzy pętle, aby uzyskać listę zasad, przepływów pracy i akcji. Dane wyjściowe obejmują nazwy każdego z nich, a także parametr docelowego węzła pamięci masowej akcji.
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 pula_docelowa | cut -d ":" -f2'
echo "Pula docelowa: $destpool"
done
done
done Przykład 3: Uruchamianie kopii zapasowej tylko wtedy, gdy istnieje
określony katalog Ten skrypt powłoki sprawdza, czy istnieje katalog o nazwie /k7app. Jeśli tak, uruchamia przepływ pracy o nazwie newt1 i rejestruje to w dedykowanym pliku dziennika. Jeśli katalog nie istnieje, kopia zapasowa nie jest uruchamiana, a fakt ten jest rejestrowany w tym samym pliku dziennika. Ta sama struktura skryptu może być używana w każdej sytuacji, w której przepływ pracy ma być uruchamiany tylko wtedy, gdy zostanie spełniony określony warunek.
#!/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 jest obecny, dlatego uruchamia przepływ pracy newt1 \n" >> $log
else
printf $DATE >> $log
printf " $dir nie jest obecny, dlatego nie uruchamia się przepływ pracy newt1 \n">>$log fi
PROGRAM WINDOWS POWERSHELL:
Przykład 1: Lista przepływów
pracyWyświetla listę zasad i ich przepływów pracy poprzez zapętlenie listy zasad i uruchomienie polecenia "nsrpolicy workflow list" dla każdej zasady.
$listp = nsrpolicy policy policy list
foreach ($i in $listp)
{
write-host "-----"
write-host "POLICY: $i"
write-host "PRZEPŁYWY PRACY: "
nsrpolicy workflow list -p "$i"
}
Przykład 2: Lista akcji
Tworzone są trzy pętle. Pętla do wyświetlania listy zasad, a następnie pętla do wyświetlania listy wszystkich przepływów pracy dla każdej zasady, a następnie pętla do wyświetlania listy wszystkich akcji dla każdego przepływu pracy.
$listp = nsrpolicy policy policy list
foreach ($p in $listp)
{
write-host "-----"
write-host "POLICY: $p"
write-host "PRZEPŁYWY PRACY: "
$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"
}
}
}Przykład
3 Uruchamianie kopii zapasowej tylko wtedy, gdy istnieje określony katalog
Ten skrypt sprawdza, czy istnieje katalog o nazwie C:\basicdata. Jeśli tak, uruchamia przepływ pracy o nazwie Star i rejestruje to w dedykowanym pliku dziennika. Jeśli katalog nie istnieje, kopia zapasowa nie jest uruchamiana, a fakt ten jest rejestrowany w tym samym pliku dziennika. Ta sama struktura skryptu może być używana w każdej sytuacji, w której przepływ pracy ma być uruchamiany tylko wtedy, gdy zostanie spełniony określony warunek.
$dir = "C:\basicdata"
$log = "C:\Program Files\EMC NetWorker\nsr\logs\star.log"
$LogTime = get-date -format "MM-dd-yyyy_hh-mm-ss"
if ( ścieżka-testowa "$dir" )
{ nsrpolicy start -p star -w workflow1
"------------------" | Out-File $log -append -Force
$LogTime | Out-File $log -append -Force
"Gwiazdka rozpoczęta" | Out-File $log -append -force
}
else
{
"------------------" | Out-File $log -append -Force
$LogTime | Out-File $log -append -Force
"Gwiazdka nie została uruchomiona, ponieważ $dir nie istnieje" | Plik wyjściowy $log -append -force
}