Without log rotation, log files such as /var/log/messages will continue to grow into many gigabytes. Reading such a large file might become tricky and it's a good idea to set up log rotation so that a new file is used after it has grown to a certain size.

logrotate will rotate system logs. Rotating /var/log/messages is configured with the config files in /etc/logrotate.d/syslog:

# cat /etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
    sharedscripts
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null

In order to have logrotate rotate the logs weekly, ensure your configuration is similar to:

# cat /etc/logrotate.d/syslog
/var/log/messages /var/log/secure /var/log/maillog /var/log/spooler /var/log/boot.log /var/log/cron {
    # Run the pre/post rotate commands only once for all the logs
    # that are being rotated.
    sharedscripts
 
    # rotate weekly
    weekly
 
    # keep 2 years of logs
    rotate 104
 
    # send HUP to syslogd
    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null

You may also want to do other things such as email notifications or compression, which is available as well. Refer to RedHat's Deployment Guide for more information.

You may also want to have logrotate run automatically via cronjobs.

# crontab -l
@daily /usr/sbin/logrotate /etc/logrotate.conf > /dev/null 2>&1