#==============================================================================
# sysklogd logrotate configuration (single stanza)
#
# - Rotates /mnt/mmcblk0p3/log/syslog daily, keeping 7 backups
# - After rotation, retains only the last 500 lines containing "main_proc"
#   in the active syslog (/mnt/mmcblk0p3/log/syslog).
# - Rotates all other sysklogd-managed logs (e.g. /var/log/messages, /var/log/auth.log, etc.)
# - Finally, reloads sysklogd once.
#==============================================================================

/mnt/mmcblk0p3/log/syslog
/mnt/mmcblk0p3/log/messages
/mnt/mmcblk0p3/log/kern.log
/mnt/mmcblk0p3/log/daemon.log
/mnt/mmcblk0p3/log/auth.log
/mnt/mmcblk0p3/log/mail.err
/mnt/mmcblk0p3/log/mail.warn
/mnt/mmcblk0p3/log/mail.info
/mnt/mmcblk0p3/log/mail.log
/mnt/mmcblk0p3/log/lpr.log
/mnt/mmcblk0p3/log/cron.log
/mnt/mmcblk0p3/log/debug
{
    daily
    rotate 7
    missingok
    notifempty
    delaycompress
    compress
    sharedscripts

    postrotate
        # Special handling only if /mnt/mmcblk0p3/log/syslog was rotated
        if [ -f /mnt/mmcblk0p3/log/syslog.1 ]; then
            # Extract only 'main_proc' lines, keep last 500
            grep 'main_proc' /mnt/mmcblk0p3/log/syslog.1 | tail -n 500 > /tmp/syslog_main_proc

            # Overwrite new, empty /mnt/mmcblk0p3/log/syslog with these lines
            cat /tmp/syslog_main_proc > /mnt/mmcblk0p3/log/syslog
            rm /tmp/syslog_main_proc
        fi

        # Now reload sysklogd exactly once
        /etc/init.d/sysklogd reload-or-restart > /dev/null 2>&1 || true
    endscript
}
