#==============================================================================
# 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.*
/mnt/mmcblk0p3/log/lpr.log
/mnt/mmcblk0p3/log/cron.log
/mnt/mmcblk0p3/log/debug
{
    daily
    rotate 7
    missingok
    notifempty
    delaycompress
    compress
    sharedscripts

    postrotate
        if [ -f /mnt/mmcblk0p3/log/syslog.1 ]; then
            grep 'main_proc' /mnt/mmcblk0p3/log/syslog.1 | tail -n 500 > /tmp/syslog_main_proc
            : > /mnt/mmcblk0p3/log/syslog
            cat /tmp/syslog_main_proc >> /mnt/mmcblk0p3/log/syslog
            rm /tmp/syslog_main_proc
        fi

        /etc/init.d/sysklogd reload > /dev/null 2>&1 || true
    endscript

}

