在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日志的輪轉。