Rudder: отсутствует отчет jobScheduler

Я использую сервер 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-adf395938507 @ @ 1 @ @ Job @ @NBPKG = $ (apt-show-versions | grep upgradeable | wc -l); if [[$ 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), результат будет сообщен при следующем запуске

, но отчет всегда отсутствует.

Вы можете мне помочь?

THX.


Как вы предлагаете, я изменил задание. Моя новая команда:

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)

: - (

2
задан 29 August 2017 в 02:24
1 ответ

Как видите, в журнале написано: "Результат будет сообщен при следующем запуске " - так что в вставленный вами отчет было сказано, что он просто выполнял задание, но еще не получил результата. Техника JobScheduler обычно находится в статусе "Пропущено" до тех пор, пока задание не выполнено: мы пока не знаем его состояние, поэтому не можем сообщить ничего, что имело бы отношение к делу

Серьезность журнала (второй текст между @@) - log_info, так что это только для информации, не используемой при вычислении соответствия - вычисление соответствия полагается на типы отчетов result_* и audit_*.

Наконец, команда, которую вы запускаете, кажется, не работает в обычном скрипте оболочки; при попытке ее выполнения я получаю следующие ошибки: информация: Выполнение 'no timeout' ... 'NBPKG=$(apt-show-versions | grep upgradeable | wc -l);if [[ $NBPKG -ne 0 ]]; тогда echo 1; else echo 2; fi'. уведомление: Q: "...w-versions | gr": sh: 1: apt-show-versions: not found Q: "...w-versions | gr": sh: 1: [[: not found В: "...w-versions | gr": 2 Информация: Последние 3 процитированные строки были сгенерированы Promiser 'NBPKG=$(apt-show-versions | grep upgradeable | wc -l);if [[ $NBPKG -ne 0 ]]; тогда echo 1; else echo 2; fi'. Информация: Завершено выполнение 'NBPKG=$(apt-show-versions | grep upgradeable | wc -l);if [[ $NBPKG -ne 0 ]]; тогда echo 1; else echo 2; fi'.

Вероятно, вам нужно поставить полный путь к apt-шоу-версиям и echo (и любой команде, которую вы используете) на безопасную сторону, и [[ ]] не является действительным синтаксисом /bin/sh, отсюда и ошибка (см. http://mywiki.wooledge.org/Bashism для замены).

Regards,

.
2
ответ дан 3 December 2019 в 11:29