誰かがファイルに書き込む前にrsyslogdが新しいファイルを生成するように強制する

誰かがファイルに書き込む前にrsyslogdが新しいファイルを生成するように強制する

Ubuntu 14.04でrsyslogd 7.4.4を使用しています。構成ファイルを更新しました。/etc/rsyslog.d/30-comComponent.conf次のコンテンツが含まれています。

# provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514
$EscapeControlCharactersOnReceive off

$outchannel network,/var/log/component/network.log,10240000,/usr/home/component/bin/./rotate.sh /var/log/component/network.log

if $programname == 'Network' then :omfile:$network
if $programname == 'Network' then stop

if $programname == 'Network' then /var/log/gwc/network.log

時々削除しなければならない時があります。ウェブログ手動提出。その後、常にデーモンを再起動する必要があります。問題は、誰かが適切なsyslogチャネル(私の場合は「ネットワーク」)に書き込むまで新しいファイルが生成されないことです。しかし、私は欲しいウェブログファイルが空であっても同じです。

しばらく前に、ほぼ同じ構成でUbuntu 10.04でrsyslogd 4.2.0を使用しました。唯一の違いは」~「で置き換え」止める「そして」:om ファイル:」が導入されました。そのバージョンではすべてが正常で、デーモンを再起動した後に新しいファイルが生成されます。

rsyslogd 4.2.0 の次の行により、ファイルが新しく作成されるようです。

if $programname == 'Network' then /var/log/gwc/network.log

しかし、7.4.4はうまくいかないようです。新しいバージョンを使用して以前のバージョンの動作をどのように達成できますか?

ベストアンサー1

Rsyslog 5.x+は、このフィルタに一致するログエントリがあるまでファイルを作成したり、ネットワーク接続を開いたりしません。

これは、削除権限のトラブルシューティングに関連する以前の動作で行われた変更です。現在(8.5ベース)空のファイルを強制的に生成する方法はありません。

おすすめ記事