Чтобы сопоставить сообщение и запустить программу, создайте файл, например /etc/rsyslog.d/99-myaudit.conf
, с содержимым:
module(load="omprog")
if $msg startswith ' Audit daemon rotating log files' then action(type="omprog" binary="/bin/myprog")
и перезапустите rsyslogd
. Я включил пробел в начале строки сообщения, так как он, вероятно, там будет. Если вы предпочитаете, вы можете использовать $msg contains 'Audit daemon rotating'
для более слабого совпадения.
Исполняемая программа или сценарий /bin/myprog
будет запущена при совпадении сообщения. Он будет снабжен соответствующими сообщениями на стандартном вводе. Если программа завершается, она будет перезапущена снова при следующем совпадении сообщения.
Вы можете добавить имя файла для сбора выходных данных программы во время тестирования, например action(type="omprog" binary="/bin/myprog" output="/tmp/mylog")
. См. omprog .
В зависимости от требуемого вывода ниже будет код tbl
. Обратите внимание, что вам не нужна опция box.
Я предположил, что вам нужен жирный UC1 во втором столбце первой строки, поэтому использовал суффикс B в столбце.
.TS BOXED LABEL "Table 1: Use Case 1"
tab(@);
l lB, l l, l l, l l, l l
lT l, ^, ^, ^, ^.
_
Use Case Identifier@UC1
_
Title@Login
_
Participating actor(s)@Dental staff member or client
_
Precondition(s)@System is ready to receive requests
_
Parameters@Username, password
_
T{
Flow of events
T}@1. System prompts for username and password
^@2. User submits their username and password
^@3. System logs user in
^@4. User is redirected to homepage
_
.TE
Основная проблема заключается в том, чтоT{
должен быть в конце строки, точно так же, как }T
должен быть в начале строки. Только с этим изменением символа новой строки вы получите:
Вы можете помочь набору текста, указав ширину столбца, используяw(troff_width)
(масштаб по умолчанию ens , приблизительную ширину символа «n» в шрифте ). Например, использование l lw(50)
для первой строки формата дает:
Обратите внимание, что в примере из документации, чтобы он работал, вы должны заменить строку [[circle]]
символом табуляции, как упоминалось ранее.
Я также нашел решение самостоятельно (, хотя оно не так близко соответствует моему образцу снимка экрана, как другие решения):
.TS BOXED
box, tab(@);
l | l.
Use Case Identifier@UC1
_
Title@Login
_
Participating actor(s)@Dental staff member or client
_
Precondition(s)@System is ready to receive requests
_
Parameters@Username, password
_
Flow of events@1. System prompts for username and password
\^@2. User submits their username and password
\^@3. System logs user in
\^@4. User is redirected to homepage
.TE
Получается
|
в части l | l
указывает tbl
разместить вертикальную линию между двумя столбцами.
_
указывает tbl
провести горизонтальную линию между двумя строками.
tab(@)
указывает tbl
рассматривать символ @
как разделитель между ячейками в строке.
\^
сообщает tbl
, что запись в таблице, находящаяся непосредственно выше, охватывает эту строку вниз.