# Модуль запуска shell-скриптов

**URL:** <https://community.itop-itsm.ru/t/modul-zapuska-shell-skriptov/303>\
**Category:** Модули\
**Created:** [04.Февраль.2016 09:21:13 UTC](https://community.itop-itsm.ru/t/modul-zapuska-shell-skriptov/303 "2016-02-04T09:21:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![vladimir](https://community.itop-itsm.ru/user_avatar/community.itop-itsm.ru/vladimir/32/687_2.png) [@vladimir](https://community.itop-itsm.ru/u/vladimir)\
**Post date:** [04.Февраль.2016 09:21:13 UTC](https://community.itop-itsm.ru/t/modul-zapuska-shell-skriptov/303/1 "2016-02-04T09:21:13Z")

</div>

###**[Страница модуля на GitHub](https://github.com/itop-itsm-ru/action-shell-exec) и [прямая ссылка на загрузку](https://github.com/itop-itsm-ru/action-shell-exec/archive/master.zip).**

## Описание

Модуль позволяет запускать shell-скрипты при срабатывании триггеров и передавать в скрипт данные целевого объекта. В качестве параметров передаются [стандартные плейсхолдеры](https://wiki.openitop.org/doku.php?id=2_2_0:admin:notifications#message_contents_and_placeholders) `$this->attcode$` (аналогично уведомлениям). Значения параметров присваиваются переменным окружения при запуске скрипта.  
В общем случае выполняемая команда выглядит так:

```auto
~$ VAR_NAME_1="VAR_VALUE_1" VAR_NAME_2="VAR_VALUE_2" /path/to/script.sh

```

##Установка  
Устанавливаем, как и любой другой модуль в iTop:  
0. Переименовываем папку action-shell-script-master в action-shell-script.

1. Перекладываем папку action-shell-script в itop/extensions/.
2. Разрешаем редактирование config-файла iTop itop/conf/production/config-itop.php.
3. Переходим в браузере [http://my-itop/setup](http://my-itop/setup) и выбираем “Upgrade an existing iTop instance”.
4. На предпоследнем шаге ставим галочку напротив названия модуля и устанавливаем.
5. Готово.

## Использование

1. Создайте новое действие и свяжите его с нужными триггерами. См. пример ниже, как передать параметры в скрипт. **Использовать пользовательские данные в Shell-скрипте потенциально не безопасно!**

2. Вывод скрипта будет записан в поле Журнал уведомления (см. вкладку “Уведомления” на целевом объекте триггера).

3. Используйте статус “Проходит тестирование” и проверьте журнала уведомлений, чтобы найти возможные ошибки передачи параметров и команду, которая будет выполняться.

## Отказ от ответственности

**Используйте модуль на свой страх и риск. Автор не гарантирует какой бы то ни было безопасности вам и вашим данным при использовании модуля. Запуск консольных команд пользователями веб-приложения, тем более передача командам пользовательского ввода, а тем более если веб-сервер запущен под root, это вам не шутки!**

---

<div class="post-metadata">

**Author:** ![igsao10](https://community.itop-itsm.ru/user_avatar/community.itop-itsm.ru/igsao10/32/102_2.png) [@igsao10](https://community.itop-itsm.ru/u/igsao10)\
**Post date:** [21.Май.2018 05:43:22 UTC](https://community.itop-itsm.ru/t/modul-zapuska-shell-skriptov/303/2 "2018-05-21T05:43:22Z")

</div>

Добрый день!  
Решил таки воспользоваться данным способом запуска shell скрипта.  
Проблема в том что не передаются значения в сам скрипт.  
Что делаю не так?  
 ![1234](https://community.itop-itsm.ru/uploads/default/original/1X/215c943f3ad01e73e95812470c2509015f10f79f.png)  
вот результат  
 ![123](https://community.itop-itsm.ru/uploads/default/original/1X/1aed6a7dbe66e9f619034d7d2fc3df3a815210a3.png)

---

<div class="post-metadata">

**Author:** ![vladimir](https://community.itop-itsm.ru/user_avatar/community.itop-itsm.ru/vladimir/32/687_2.png) [@vladimir](https://community.itop-itsm.ru/u/vladimir)\
**Post date:** [21.Май.2018 10:40:14 UTC](https://community.itop-itsm.ru/t/modul-zapuska-shell-skriptov/303/3 "2018-05-21T10:40:14Z")

</div>

Сам айтоп ответил, что неправильно заданы параметры, и он не может найти значения для плейсхолдеров. Посмотри на примеры в первом посте.
