System log files are rotated by the logadm command from an entry in the root crontab file. The /usr/lib/newsyslog script is no longer used.
The system log rotation is defined in the /etc/logadm.conf file. This file includes log rotation entries for processes such as syslogd. For example, suppose one entry in the /etc/logadm.conf file specifies that the /var/log/syslog file is rotated weekly unless the file is empty. The most recent syslog file becomes syslog.0, the next most recent becomes syslog.1, and so on. Eight previous syslog files are kept.
The /etc/logadm.conf file also contains time stamps of when the last log rotation occurred.
You can use the logadm command to customize system logging and to add additional logging in the /etc/logadm.conf file as needed. Note that you must first assume root or a role that has syslog.conf authorization.
For example, to rotate the Apache access and error logs, you would use the following commands:
$ logadm -w /var/apache/logs/access_log -s 100m $ logadm -w /var/apache/logs/error_log -s 10m
In this example, the Apache access_log file is rotated when it reaches 100 MB in size, with a .0, .1, (and so on) suffix, keeping ten copies of the old access_log file. The error_log is rotated when it reaches 10 MB in size with the same suffixes and number of copies as the access_log file.
The /etc/logadm.conf entries for the Apache log rotation examples look similar to the following example:
$ cat /etc/logadm.conf . . . /var/apache/logs/error_log -s 10m /var/apache/logs/access_log -s 100m
For more information, see the logadm(8).