CentOS syslog版本升级指南(以rsyslog为例)
/etc/rsyslog.conf(主配置文件)、/var/log/下的日志文件及自定义规则文件,防止升级过程中数据丢失。rsyslogd -V查看当前rsyslog版本(如CentOS 7自带rsyslog 7.4.7,CentOS 6自带5.8.10)。CentOS默认YUM源的rsyslog版本较旧,需添加Adiscon官方repo获取最新版(以CentOS 7为例):
wget http://rpms.adiscon.com/v8-stable/epel-7/x86_64/rsyslog.repo -O /etc/yum.repos.d/rsyslog.repo。$releasever替换为系统版本(如7)、$basearch替换为架构(如x86_64),修改后内容如下:[rsyslog_v8]
name=Adiscon CentOS-7 - local packages for x86_64
baseurl=http://rpms.adiscon.com/v8-stable/epel-7/x86_64
enabled=1
gpgcheck=0
```。
sudo yum clean all清除旧软件包缓存。sudo yum update rsyslog,系统会自动下载并安装最新版本的rsyslog及其依赖(如libestr、libfastjson)。rpm -qa | grep rsyslog确认版本(如rsyslog-8.27.0-2.el7.x86_64)。sudo systemctl restart rsyslog重启服务,使新版本生效。sudo systemctl status rsyslog,确认服务运行正常(无报错信息)。rsyslogd -V,确认版本已更新。/var/log/test.log写入内容(如echo "test log" >> /var/log/test.log),检查rsyslog是否正常采集该日志。/etc/rsyslog.conf是否有弃用参数(如$ModLoad imuxsock改为module(load="imuxsock")),参考官方文档调整。sudo yum downgrade rsyslog回滚至旧版本,或恢复备份的配置文件。