The exicyclog script cycles the main and reject log files. Each time it is run the files get 'shuffled down' by one. The mainlog file becomes mainlog.1, the previous mainlog.1 becomes mainlog.2 and so on, up to a limit which is set in the script, and which defaults to 10. However, if no mainlog file exists, the script does nothing. Reject logs are handled similarly. Files that 'drop off' the end are deleted. All files with numbers greater than 1 are compressed, using a compression command which is configured in the script.
It is usual to run exicyclog daily from a crontab entry of the form
1 0 * * * /usr/sbin/exicyclog
In this way, each day's log is (mostly) in a separate file. There will be some overlap from processes that have the log open at the time of renaming.