缘由

一些嵌入式设备将日志文件保存在 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/*.conf
Code language: PHP (php)

修改完成后重启

systemctl restart rsyslog

完成

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

分类: Trick

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据