NetWorker: Як використовувати команду nsrpolicy
Résumé: У цій статті наведено інформацію про використання команди nsrpolicy NetWorker для виконання адміністративних завдань NetWorker.
Instructions
The nsrpolicy команда — це адміністративна команда NetWorker, яка використовується для управління та моніторингу політик NetWorker. Багато з тих самих функцій виконуються через NetWorker Management (NMC) та Web UI (NWUI); однак, nsrpolicy надає адміністраторам можливості командного рядка.
nsrpolicy має працювати за однією з наступних умов:
- Ви виконуєте команду з піднятого вказівки. Або Administrator Command/PowerShell prompt на Windows, або root/
sudoshell на 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 резервне копіювання на клієнті NetWorker із використанням утиліти командного рядка 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)
У наведеному вище прикладі, коли починається робочий процес для клієнта, 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 можливості, що виходять за межі однолінійного використання, і як можна адмініструвати свій сервер NetWorker з CLI. Не впроваджуйте/не використовуйте скрипти у своєму середовищі без тестування або розуміння функцій. Підтримка 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"
}
}
}Informations supplémentaires
Першим кроком є вхід на сервер NetWorker у командному рядку за допомогою команди nsrlogin з тими ж обліковими даними, які ви використовуєте для входу в консоль управління NetWorker. Коли ви виконуєте команду nsrlogin, хост NetWorker зв'язується зі службою аутентифікації NetWorker для перевірки облікових даних користувача.
nsrlogin -u [ім'я користувача] - p [пароль]
Команда nsrpolicy має декілька різних параметрів, доступних на кожному рівні. Натискання клавіші введення на кожному кроці надасть вам повний список доступних опційдля наступної частини вашої команди:
політика
nsrpolicy
create | delete | display| update |
listworkflow
create | delete | display | update |
list action create | delete | display | update |
listgroup
create | delete | display |
updatestart
Необхідно мати: -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 [політика] -w [робочий процес]
Інші варіанти: -s [Сервер NetWorker] -D [рівень налагодження] -h
Монітор
Необхідно мати: -p [політика]
Інші варіанти: -w [робочий процес] -c [клієнт] -g [група] -d [подробиці] -n [нетабличний] -j [jobid] -s [сервер NetWorker] -D [рівень налагодження] -h
вхідний файл
Необхідно мати: -f [ім'я файлу]
Інші варіанти: [--stop_on_error -S <0/1; за замовчуванням:0 (Не зупинятися)>] [--stop_on_error -S <0/1; за замовчуванням:0 (Не зупиняти)>] -D [рівень налагодження] -h
перезапуск
Повинен мати: Або -j [jobid], або -p [політика] -w [робочий процес]
Інші варіанти: -s [Сервер NetWorker] -D [рівень налагодження] -h
мігрувати
Має бути що підлягає міграції: група | schedule_clone | nas_device | vmware_policy
Інші варіанти: -s [Сервер NetWorker] -D [рівень налагодження] -h
Допомога
ПРИКЛАДИ КОМАНДНОГО РЯДКА:
Список політик у зоні
даних списокполітик
nsrpolicy список
політик Відображення властивостей дії:
Дисплей дії nsrpolicy -p [політика] -w [робочий процес] -A [дія]
Дисплей дії nsrpolicy -p Mona -w Mona_wf -A резервна копія
Відображення властивостей групи:
Відображення групи nsrpolicy -g [група]
nsrpolicy груповий дисплей -g Фелікс
Вимкніть дію:
nsrpolicy action update [тип дії підтип резервного копіювання] -p [політика] -w [робочий процес] -a [дія] -e ні
nsrpolicy action update backup traditional -p FrankHoenikker -w FrankH -A backup -e no
Щоб змінити розклад, пов'язаний із дією:
nsrpolicy action update [тип резервного копіювання типу дії] -p [політика] -w [робочий процес] -a [дія] -t [розклад]
Оновлення дії nsrpolicy резервне копіювання традиційне -p Mona -w Mona_wf -A резервне копіювання -t full,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"
Створіть новий робочий процес із нетиповими значеннями для коментарів, початкового часу та групи:
Робочий процес nsrpolicy create -p [політика] -w [робочий процес] -c [коментар] -g [група] -S [час початку]
Робочий процес nsrpolicy create -p Mona -w Papa -c "Робочий процес для клієнтів RedHat 6" -g PapaMgroup -S "10:00"
Створіть нову дію з нетиповими значеннями для цільового пулу та порогу
успіху дія nsrpolicy create [тип дії підтип резервного копіювання] -p [політика] -w [робочий процес] -A [дія] -o [цільовий пул] -u [поріг успіху]
nsrpolicy дія створити резервну копію традиційна -p Mona -w Papa -A papabackup -o SanLorenzoDDPool -u success
Запустити робочий процес (Зауважте, що ви не можете розпочати дію таким чином. Ви повинні запустити весь робочий процес).
nsrpolicy start -p [політика] -w [робочий процес]
nsrpolicy start -p Mona -w Mona_wf
Зупиніть робочий процес (ви можете отримати релевантний jobid за допомогою comand 'nsrpolicy monitor' - див. нижче):
nsrpolicy stop -j [jobid]
nsrpolicy stop -j 320819
Запустіть одного клієнта в робочому процесі:
nsrpolicy start -p [політика] -w [робочий процес] -c "[клієнт]:[saveset]
nsrpolicy start -p Mona -w Mona_wf -c "vm-wego-231:/felix"
Відстежуйте останній запуск робочих процесів у політиці:
nsrpolicy monitor -p [політика] -dn
nsrpolicy monitor -p Mona -dn
Детальний вивід завдання для конкретної нещодавньої роботи:
nsrpolicy monitor -j [ідентифікатор посади]
nsrpolicy monitor -j 290473
Щоб запустити робочий процес у режимі налагодження, nsrworkflow не така ефективна, як команда nsrworkflow, оскільки 'nsrpolicy start' не записуватиме дані налагодження до папки /nsr/logs/policy, яку nsrworkflow – до файлу raw.
nsrworkflow -p [політика] -w [робочий процес] -A "[дія]"
nsrworkflow -D9 -p Newt -w newt1 -A "backup"Де б ви хотіли розмістити налагодження,
залежить від точної частини процесу резервного копіювання, вам потрібно розглянути більш детально. Наведена вище команда nsrworkflow помістить операції збереження на стороні сервера NetWorker у D9 і виведе дані налагодження у файл raw у /nsr/logs/policy. Однак, він не передасть прапорець налагодження процесу збереження на стороні NetWorker-client. Для того, щоб це зробити, потрібно змінити поле "backup command" для клієнта. Ви можете використовувати NMC для цього або з командного рядка:
Це призведе до того, що процес збереження запуститься в режимі налагодження (D3 у наведеному нижче прикладі) і виведе дані журналу налагодження в папку
/nsr/logs/policy/[назва політики]/_logs[назва робочого процесу]/.NWserver121:> програма адміністрування nsradmin
NetWorker.
Для допомоги використовуйте команду "help", для повноекранного режиму - "visual".
НСРАДМІН> . Тип : Клієнт НСР; ім'я : vm-lego-231
Поточний набір запитів
nsradmin> update backup команда : зберегти -D3
команда резервного копіювання: зберегти -D3;
Оновлювати? y
оновлено id ресурсу 48.0.46.11.0.0.0.231.177.13.90.10.60.28.121(13)
команда резервного копіювання: зберегти -D3;
Оновлювати? y
оновлено id ресурсу 45.0.185.125.0.0.0.126.197.192.89.10.60.28.121(34)
команда резервного копіювання: зберегти -D3;
Оновлювати? y
оновлено id ресурсу 47.0.28.24.0.0.0.0.123.60.218.88.10.60.28.121(39)
команда резервного копіювання: зберегти -D3;
Оновлювати? y
оновлено id ресурсу 64.0.28.24.0.0.0.123.60.218.88.10.60.28.121(35)
команда резервного копіювання: зберегти -D3;
Оновлювати? y
оновлено id ресурсу 57.0.46.11.0.0.0.0.231.177.13.90.10.60.28.121(8)
команда резервного копіювання: зберегти -D3;
Оновлювати? y
оновлено id ресурсу 49.0.62.11.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" проти кожної з них, щоб вивести список імен робочих процесів для кожної політики.
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: Перелічте всі політики, їхні робочі процеси та дії, а також пул
призначенняЦей скрипт оболонки виконує три цикли, щоб отримати список політик, робочих процесів і дій. Виводяться назви кожного з них, а також параметр вузла призначення сховища дії.
cat listofworkflows_actions.sh
#!/usr/bin/sh
IFS=$'\n'fullpolicylist
=('nsrpolicy policy list'))
for lp in "${fullpolicylist[@]}"do
echo "------------------ "
echo "POLICY: $lp"
wflist=('список робочих процесів nsrpolicy -p $lp')
для w в "${wflist[@]}"
do
echo " "
echo "РОБОЧИЙ ПРОЦЕС: $w"
alist=('список дій nsrpolicy -p $lp -w $w')
для a в "${alist[@]}"
do
echo "ДІЯ: $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" ]
то
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" для кожної політики.
$listp = список
політик nsrpolicy foreach ($i у $listp)
{
write-host "-----"write-host
"POLICY: $i"write-host
"РОБОЧІ ПРОЦЕСИ: "
список робочих процесів nsrpolicy -p "$i"}
Приклад 2: Список дій
Створюється три петлі. Цикл зі списком політик, а потім цикл зі списком усіх робочих процесів для кожної політики, а потім цикл зі списком усіх дій для кожного робочого процесу.
$listp = список
політик nsrpolicy foreach ($p у $listp)
{
write-host "-----"write-host
"ПОЛІТИКА: $p"write-host
"РОБОЧІ ПРОЦЕСИ: "
$wlist = список робочих процесів nsrpolicy -p $p
foreach ($w у $wlist)
{
write-host "$w"
write-host "ACTIONS:"
$alist = список дій nsrpolicy -p "$p" -w "$w"
foreach ($a у $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
"------------------" | вихідний файл $log -append -force
$LogTime | вихідний файл $log -append -force
"Запущена зірка" | вихідний файл $log -append -force
}
else
{
"------------------" | вихідний файл $log -append -force
$LogTime | out-file $log -append -force
"Зірка не запущена, тому що $dir не існує" | вихідний файл $log -append -force
}