缘由

一些嵌入式设备将日志文件保存在 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

分类: Trick

0 条评论

发表回复

Avatar placeholder

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

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