缘由

一些嵌入式设备将日志文件保存在 RAM 内,但系统一旦崩溃或重启,这些数据将会丢失,难以进行排错。

修改配置文件

一般情况下,rsyslog 在大部分 Linux 发行版中都被预置。若没有,请使用以下命令安装。

sudo apt install rsyslog

配置文件位于 /etc/rsyslog.conf ,根据以下示例进行修改。

module(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")

module(load="imklog" permitnonkernelfacility="on")
$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
if ($fromhost-ip != "127.0.0.1" ) then ?RemoteLogs
& stop
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$RepeatedMsgReduction on

$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog
$WorkDirectory /var/spool/rsyslog
$IncludeConfig /etc/rsyslog.d/*.confCode language: PHP (php)

修改完成后重启

systemctl restart rsyslog

完成

远程主机的日志数据将会保存至 /var/log/%HOSTNAME%/%PROGRAMNAME%.log


了解 Starx's Home 的更多信息

订阅后即可通过电子邮件收到最新文章。

分类: Trick