2014-03-06 32 views
0

我想我的rsyslog將確切的日誌打印到兩個不同的文件。一個是/ var /日誌/這是由默認的RHEL規則進行信息:使rsyslog忽略丟失的日誌文件

*.info;mail.none;authpriv.none;cron.none    /var/log/messages 

而第二個是的Veritas Cluster存儲集羣的兩個節點之間共享存儲上一個掛載點$ hostname_messages.log。這是通過:

$template PerCMDNode,"/foo/bar/system/%HOSTNAME%_messages.log" 
*.info;mail.none;authpriv.none;cron.none    -?PerCMDNode 

所有工作正常直到我停止集羣服務和共享掛載點變得不可用rsyslog。在這種情況下,rsyslog在信號15時退出,並且不僅停止記錄到該共享日誌文件(這非常明顯),而且還停止記錄到所有日誌文件。

我的問題是,如果我可以讓rsyslog忽略丟失的日誌文件並在文件恢復聯機時進行日誌記錄?

回答

0

您可能能夠簡單地重定向當共享日誌文件被「暫停」 http://www.rsyslog.com/action-execonlywhenpreviousissuspended-preciseness/

$template PerCMDNode,"/foo/bar/system/%HOSTNAME%_messages.log" *.info;mail.none;authpriv.none;cron.none -?PerCMDNode $ActionExecOnlyWhenPreviousIsSuspended on & /var/log/localbuffer # Might also ask rsyslog to discard here. $ActionExecOnlyWhenPreviousIsSuspended off