Добрый день  ;)
Помогите разобраться с действием: Выполнение команды на сервере
У меня есть php скрипт для отправки SMS (/home/netxms/Documents/sms/sms.php) в него я передаю два параметра arg1(Текст СМС) и arg2(Телефон). Сделал действие как на скриншоте:
php /home/netxms/Documents/sms/sms.php '%M' 'NOMER'
Но ничего не выполняется, смс не приходит, через консоль сервера этот скрипт отрабатывает и смс летит.
В документации не очевидно написано, можно ли так выполнять или нет. Подскажите смогу ли я вообще такое реализовать?
			
			
			
				Нужно проверить, но скорее всего на windows действия запускаются через вызов CreateProcess(), в этом случае файл ищется в path, но расширение автоматом не подставляется. Попробуейте php.exe или если не поможет, то написать его с полным путем. 
			
			
			
				У меня Linux (в шапке темы указано  8) )
Получилось вызывать скрипт вот такой командой:
nxget localhost Test_SMS '%m %n' 'NOMER'
где Test_SMS - это в файле nxagentd.conf строка ExternalParameterShellExec = Test_SMS:php /home/netxms/Documents/sms/sms.php для вызова скрипта.
Но проблема что не передаётся в скрипт параметры. Как сделать подскажите передачу параметров ошибки и номера телефона?
			
			
			
				Для ExternalParameterShellExec подстановку параметров можно делать через $1, $2, и т.д. Например
ExternalParameterShellExec = Test_SMS:php /home/netxms/Documents/sms/sms.php "$1" "$2"
Серверная команда тоже должна работать. Посмотрите лог сервера на уровне 5 - должны быть записи вида "Executing command ..." и "RunCommandThread: failed to execute command ..." при ошибке.
			
			
			
				Quote from: Victor Kirhenshtein on June 17, 2020, 09:36:53 AM
Для ExternalParameterShellExec подстановку параметров можно делать через $1, $2, и т.д. Например
ExternalParameterShellExec = Test_SMS:php /home/netxms/Documents/sms/sms.php "$1" "$2"
Серверная команда тоже должна работать. Посмотрите лог сервера на уровне 5 - должны быть записи вида "Executing command ..." и "RunCommandThread: failed to execute command ..." при ошибке.
Какая-то странность, вчера не работала команда описанная в первом посте, а сегодня уже работает и шлёт всё корректно! Возможно из-за того что не был установлен агент ;)
Так что вариант php /home/netxms/Documents/sms/sms.php '%M' 'NOMER' работает уже, всем спасибо!
			
 
			
			
				 8)
Ну вообще-то оно должно работать така, как у вас сконфигурено на изначальном скриншоте. 
Давайте посмотрим дебаг 7 уровня в момент запуска действия. Уровень отладки можно менять при запущенном сервере
nxadm -c "debug 7"
Посмотреть текущий уровень можно так:
nxadm -c "debug"