Вот отрывок оболочки (непротестированный), который должен сделать что-то близко к тому, что Вы хотите, от того, что я понимаю Вашего вопроса.
set -e
# Collect the output of the script in a variable
script_output=$(my_script)
# Check that the script output is nice and copypastable
awk '
/[^[:print:]]/ { print NR ": non-printable character"; exit 1 }
/ $/ { print NR ": trailing whitespace"; exit 1 }
/.{79}/ { print NR ": line too long"; exit 1 }
' <<EOF
$script_output
EOF
# Use expect to spawn a shell, feed it the script output, and
# check the result against expectations
export script_output
expect <<'EOF'
spawn sh
send "[array get env script_output]\n"
expect "the proper result"
EOF
Возможности с local0
до local7
- это «настраиваемые» неиспользуемые возможности, которые syslog предоставляет пользователю. Если разработчик создает приложение и хочет, чтобы оно регистрировалось в системном журнале, или если вы хотите перенаправить вывод чего-либо в системный журнал (например, журналы Apache), вы можете отправить его на любой из локальных #
объектов. Затем вы можете использовать /etc/syslog.conf
(или /etc/rsyslog.conf
), чтобы сохранить журналы, отправляемые на этот локальный #
, в файл или отправить его на удаленный сервер.
Я задал этот вопрос, потому что хотел отправлять журналы на внешний сервер, поэтому я хотел знать, какой из них выбрать, а не «писать журналы на локальный #
объект ". Мне пришлось вернуться к документации Snort, чтобы узнать, что они пишут на local #
средствах.
Local#
средства выделены для локального использования и нет никакого определенного стандарта (как RFC), какой используется который приложение. Таким образом, можно выбрать то, что Вы хотите. Конечно, некоторые приложения и их разработчики договорились о конкретном средстве для использования, но это не официальный стандарт (как sudo - LOCAL2, Фырканье - LOCAL5...).
sudo local2
и snort local5
; Вы имеете в виду на некоторых устройствах, sudo
использует local2
и на других snort
local5
?
– Alaa Ali
17.09.2013, 10:09