I have a rsyslog config that suffixes the date to the filename and holds the log files in a non stabdard log directory based on its srver name (long story). Example - config includes: ... $template mailLog,"/var/log/external/%fromhost%/maillog-%$YEAR%%$MONTH%%$DAY%.log"... # Log all the mail messages in one place.mail.* ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?-?mailLog... so that I get over time .. /var/log/external/server/maillog-20170424.log /var/log/external/server/maillog-20170425.log /var/log/external/server/maillog-20170426.log etc. Over time of course these build up, so i have a cronjob to trim any such logs okder than 30 days. ?To also save on space I copmpress all the files except todays via a cronjobbed script. so in fact I get? ... /var/log/external/server/maillog-20170424.log.gz /var/log/external/server/maillog-20170425.log.gz /var/log/external/server/maillog-20170426.log My questions are therefore... - is there a way for rsyslog to compress these logs once a new log is created at midnight - is theer a way for rsyslog to remove any logs older than 30 days? I am of course aware that logrotate does this also, but for the purposes of m,y enquiry I am only interested in using rsyslog if at all possible. I expect the removing of older, zipped logs via rsyslog isn;t available. ?But the pssibility of zipping files would be of great interest. cheers Ian