Edited at

シェルからrsyslog経由でログ出力する

More than 1 year has passed since last update.

シェルスクリプトからrsyslog経由でログを書きます。シェルで何かの機能を提供していて、実行者(非root)にログ編集/改ざんさせない仕組みを作れます。


やりたいこと

・非rootユーザで実行するシェル内で文字列をログに出力する

・上記ログはシェル実行ユーザでは参照/編集できない

・ログ出力パス:/var/log/test.log

シェル内のログ出力部分

logger -p local0.6 'log write'

rsyslogの設定

※事前にlocal0を使っていないことを確認する


/etc/rsyslog.d/test.conf

local0.6 /var/log/test.log


ログ出力例

$ ls -l /var/log/test.log 

-rw------- 1 root root 50 9月 14 00:40 /var/log/test.log

$ cat /var/log/test.log
Sep 14 00:40:55 kusakari: log write

(参考)ログの分割設定を入れておきたい


/etc/logrotate.d/test.conf

/var/log/test.log {

missingok
compress
delaycompress
notifempty
daily
rotate 1000
create 0600 root root
}