|  | @@ -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])
 |  | 
 | 
											
												
													
														|  | -			if err != nil {
 |  | 
 | 
											
												
													
														|  | -				logger.Warning("clear logs job err:", err)
 |  | 
 | 
											
												
													
														|  | -			}
 |  | 
 | 
											
												
													
														|  | -
 |  | 
 | 
											
												
													
														|  | -			_, err = io.Copy(logFilePrev, logFile)
 |  | 
 | 
											
												
													
														|  | -			if err != nil {
 |  | 
 | 
											
												
													
														|  | 
 |  | +			logFile, err :=  os.OpenFile(logFiles[i], os.O_CREATE|os.O_RDONLY, 0644)
 | 
											
												
													
														|  | 
 |  | +			if err == nil {
 | 
											
												
													
														|  | 
 |  | +				_, err = io.Copy(logFilePrev, logFile)
 | 
											
												
													
														|  | 
 |  | +				if err != nil {
 | 
											
												
													
														|  | 
 |  | +					logger.Warning("clear logs job err:", err)
 | 
											
												
													
														|  | 
 |  | +				}
 | 
											
												
													
														|  | 
 |  | +			} else {
 | 
											
												
													
														|  |  				logger.Warning("clear logs job err:", err)
 |  |  				logger.Warning("clear logs job err:", err)
 | 
											
												
													
														|  |  			}
 |  |  			}
 | 
											
												
													
														|  |  
 |  |  
 |