Fix clear logs job (#2090)

This commit is contained in:
somebodywashere 2024-03-20 13:47:35 +03:00 committed by GitHub
parent 7fad81edab
commit c5b30d6c6c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -19,29 +19,22 @@ func (j *ClearLogsJob) Run() {
logFiles := []string{xray.GetIPLimitLogPath(), xray.GetIPLimitBannedLogPath(), xray.GetAccessPersistentLogPath()} logFiles := []string{xray.GetIPLimitLogPath(), xray.GetIPLimitBannedLogPath(), xray.GetAccessPersistentLogPath()}
logFilesPrev := []string{xray.GetIPLimitBannedPrevLogPath(), xray.GetAccessPersistentPrevLogPath()} logFilesPrev := []string{xray.GetIPLimitBannedPrevLogPath(), xray.GetAccessPersistentPrevLogPath()}
// clear old previous logs
for i := 0; i < len(logFilesPrev); i++ {
if err := os.Truncate(logFilesPrev[i], 0); err != nil {
logger.Warning("clear logs job err:", err)
}
}
// clear log files and copy to previous logs // clear log files and copy to previous logs
for i := 0; i < len(logFiles); i++ { for i := 0; i < len(logFiles); i++ {
if i > 0 { if i > 0 {
// copy to previous logs // copy to previous logs
logFilePrev, err := os.OpenFile(logFilesPrev[i-1], os.O_CREATE|os.O_APPEND|os.O_WRONLY, 0644) logFilePrev, err := os.OpenFile(logFilesPrev[i-1], os.O_CREATE|os.O_TRUNC|os.O_WRONLY, 0644)
if err != nil { if err != nil {
logger.Warning("clear logs job err:", err) logger.Warning("clear logs job err:", err)
} }
logFile, err := os.Open(logFiles[i]) logFile, err := os.OpenFile(logFiles[i], os.O_CREATE|os.O_RDONLY, 0644)
if err != nil { if err == nil {
logger.Warning("clear logs job err:", err) _, err = io.Copy(logFilePrev, logFile)
} if err != nil {
logger.Warning("clear logs job err:", err)
_, err = io.Copy(logFilePrev, logFile) }
if err != nil { } else {
logger.Warning("clear logs job err:", err) logger.Warning("clear logs job err:", err)
} }