在CentOS系统中,SFTP(SSH File Transfer Protocol)的日志轮转可以通过配置rsyslog服务来实现。以下是详细的步骤:
首先,确保你的CentOS系统上已经安装了rsyslog。如果没有安装,可以使用以下命令进行安装:
sudo yum install rsyslog
编辑rsyslog配置文件 /etc/rsyslog.conf 或 /etc/rsyslog.d/50-default.conf,添加或修改以下内容以启用SFTP日志记录:
# 在文件末尾添加以下行
auth,authpriv.* /var/log/secure
这会将所有与认证相关的日志(包括SFTP)记录到 /var/log/secure 文件中。
CentOS使用 logrotate 工具来管理日志文件的轮转。你需要编辑 /etc/logrotate.d/secure 文件来配置SFTP日志的轮转。
sudo vi /etc/logrotate.d/secure
在文件中添加或修改以下内容:
/var/log/secure {
daily
missingok
rotate 7
compress
notifempty
create 640 root root
}
解释:
daily: 每天轮转一次日志。missingok: 如果日志文件丢失,不会报错。rotate 7: 保留7个轮转后的日志文件。compress: 压缩轮转后的日志文件。notifempty: 如果日志文件为空,则不进行轮转。create 640 root root: 创建新的日志文件,权限为640,属主和属组为root。为了使配置生效,需要重启rsyslog服务:
sudo systemctl restart rsyslog
确保SFTP日志已经正确记录并且轮转配置生效。你可以手动触发一次日志轮转来测试:
sudo logrotate -f /etc/logrotate.d/secure
然后检查 /var/log/secure 文件的大小和轮转后的文件:
ls -l /var/log/secure*
你应该能看到新的日志文件被创建,并且旧的日志文件被压缩。
通过以上步骤,你就可以在CentOS系统中成功配置SFTP日志的轮转。