Merge pull request #5205 from mailcow/clean_sasl_log
Clean up old entries from sasl_log
This commit is contained in:
		@@ -172,6 +172,24 @@ BEGIN
 | 
				
			|||||||
END;
 | 
					END;
 | 
				
			||||||
//
 | 
					//
 | 
				
			||||||
DELIMITER ;
 | 
					DELIMITER ;
 | 
				
			||||||
 | 
					DROP EVENT IF EXISTS clean_sasl_log;
 | 
				
			||||||
 | 
					DELIMITER //
 | 
				
			||||||
 | 
					CREATE EVENT clean_sasl_log
 | 
				
			||||||
 | 
					ON SCHEDULE EVERY 1 DAY DO
 | 
				
			||||||
 | 
					BEGIN
 | 
				
			||||||
 | 
					  DELETE sasl_log.* FROM sasl_log
 | 
				
			||||||
 | 
					    LEFT JOIN (
 | 
				
			||||||
 | 
					      SELECT username, service, MAX(datetime) AS lastdate
 | 
				
			||||||
 | 
					      FROM sasl_log
 | 
				
			||||||
 | 
					      GROUP BY username, service
 | 
				
			||||||
 | 
					    ) AS last ON sasl_log.username = last.username AND sasl_log.service = last.service
 | 
				
			||||||
 | 
					    WHERE datetime < DATE_SUB(NOW(), INTERVAL 31 DAY) AND datetime < lastdate;
 | 
				
			||||||
 | 
					  DELETE FROM sasl_log
 | 
				
			||||||
 | 
					    WHERE username NOT IN (SELECT username FROM mailbox) AND
 | 
				
			||||||
 | 
					    datetime < DATE_SUB(NOW(), INTERVAL 31 DAY);
 | 
				
			||||||
 | 
					END;
 | 
				
			||||||
 | 
					//
 | 
				
			||||||
 | 
					DELIMITER ;
 | 
				
			||||||
EOF
 | 
					EOF
 | 
				
			||||||
fi
 | 
					fi
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user