Я использую сервер Rudder 4.1.3 на сервере Debian 8.8. У меня тоже есть несколько агентов на сервере Debian 8.8.
Все работает нормально ... кроме отчета jobScheduler. Отчет о соответствии моего расписания работы отсутствует.
Внутри журналов я вижу:
27 мая, 10:16:14 руль направления [26831]: CFEngine (агент) руль направления R: @@ jobScheduler @@ log_info @@ d62b28f4-4a9e-47f8-962a-2c1c86a0fb8d @@ 6ff2c3cd-e938-4590-b53d-@ @ 13959 @@ Job @@ NBPKG = $ (apt-show-versions | grep обновляемый | wc -l); если [[$ NBPKG -ne 0]]; затем эхо 1; иначе эхо 2; fi @@ 2017-05-27 08: 16: 12 + 00: 00 ## f49080af-fb97-488c-8e97-5907c3dd4853 @ # Работа запущена (NBPKG = $ (apt-show-versions | grep upgradeable | wc - l); if [[$ NBPKG -ne 0]]; then echo 1; else echo 2; fi), результат будет сообщен при следующем запуске
но отчет всегда отсутствует.
Вы можете помочь мне ?
Спасибо.
Как вы предлагаете, я изменил работу. Моя новая команда:
if [ $(/usr/bin/apt-show-versions | grep upgradeable | wc -l) -ne 0 ]; then false; else true; fi
Результат:
[Unexpected] Job failed on last completed execution (if [ $(/usr/bin/apt-show-versions | grep upgradeable | wc -l) -ne 0 ]; then false; else true; fi)
[Missing]
[Unexpected] Job failed on last completed execution (if [ $(/usr/bin/apt-show-versions | grep upgradeable | wc -l) -ne 0 ]; then false; else true; fi)
:-(
Как видите, в журнале написано: "результат будет сообщен при следующем запуске"- значит, в вставленном вами отчете говорится, что задание только что было выполнено, но результат еще не получен. Метод JobScheduler обычно находится в состоянии" Отсутствует ", пока задание не выполнялось: мы еще не знаем его состояние, поэтому мы не можем сообщить ничего, что могло бы иметь отношение
Уровень серьезности журнала (второй текст между @@) равен log_info, поэтому он используется только для информации, не используется в вычислении соответствия - вычисление соответствия основывается на типах отчетов result_ * и audit_ *.
Наконец, похоже, что запускаемая вами команда не работает в обычном сценарии оболочки; при попытке его запуска получаю следующие ошибки: info: Executing 'no timeout' ... 'NBPKG=$(apt-show-versions | grep upgradeable | wc -l);if [[ $NBPKG -ne 0 ]]; then echo 1; else echo 2; fi'
notice: Q: "...w-versions | gr": sh: 1: apt-show-versions: not found
Q: "...w-versions | gr": sh: 1: [[: not found
Q: "...w-versions | gr": 2
info: Last 3 quoted lines were generated by promiser 'NBPKG=$(apt-show-versions | grep upgradeable | wc -l);if [[ $NBPKG -ne 0 ]]; then echo 1; else echo 2; fi'
info: Completed execution of 'NBPKG=$(apt-show-versions | grep upgradeable | wc -l);if [[ $NBPKG -ne 0 ]]; then echo 1; else echo 2; fi'
Вероятно, вам нужно указать полный путь к apt-show-versions и echo (и любой команде, которую вы используете), чтобы быть в безопасности, а [[]] не является допустимым синтаксисом / bin / sh, следовательно, ошибка (видеть http://mywiki.wooledge.org/Bashism на замену).
С Уважением,