вторник, 14 августа 2012 г.

Смена rsyslog на syslog-ng + bash log всех юзеров в CentOS 6.2


подготовка:

yum install syslog-ng syslog-ng-libdbi  
chkconfig --del rsyslog  
service rsyslog stop  
service syslog-ng start  
chkconfig --add syslog-ng  
chkconfig syslog-ng on

правим конфиг /etc/syslog-ng/syslog-ng.conf:

destination d_bash { file("/var/log/bash_log"); };
filter f_bash     { program("bash_log"); };
filter f_default    { level(info..emerg) and
                       not (facility(mail)
                       or facility(authpriv) 
                       or facility(cron)
                       or program("bash_log")); };
log { source(s_sys); filter(f_bash); destination(d_bash); };

и добавляем в конец /etc/bashrc

function log2syslog
{
  declare COMMAND
  COMMAND=$(fc -ln -0)
  logger -p local1.notice -t bash_log -i -- "$$ ${USER}:${COMMAND}"
}
trap log2syslog DEBUG

1 комментарий:

  1. Интересная идея, можно еще все на централизованный сервер логов складывать.
    Только жаль это мало поможет, если юзеры заядлые MC-шники. :)

    ОтветитьУдалить