在 Oracle® Solaris 11.2 中排除系统管理问题

退出打印视图

更新时间: 2014 年 9 月
 
 

系统日志轮转

使用 root crontab 中的一个项内的 logadm 命令,可以轮转系统日志文件。不再使用 /usr/lib/newsyslog 脚本。

系统日志轮转在 /etc/logadm.conf 文件中定义。此文件包含用于 syslogd 等进程的日志轮转项。例如,/etc/logadm.conf 文件中的一个项指定,除非 /var/log/syslog 文件为空,否则该文件每周轮转一次。最新的 syslog 文件成为 syslog.0,下一个最新的文件成为 syslog.1,依此类推。会保留八个以前的 syslog 日志文件。

/etc/logadm.conf 文件还包含记录最后一次日志轮转发生时间的时间戳。

可以使用 logadm 命令来定制系统日志,并可根据需要在 /etc/logadm.conf 文件中添加其他日志。

例如,要轮转 Apache 访问和错误日志,请使用以下命令:

# logadm -w /var/apache/logs/access_log -s 100m
# logadm -w /var/apache/logs/error_log -s 10m

在此示例中,Apache access_log 文件会在大小达到 100 MB 时进行轮转,以 .0.1 等作为后缀,并保留旧 access_log 文件的 10 个副本。error_log 会在大小达到 10 MB 时进行轮转,后缀和副本数与 access_log 文件相同。

用于上述 Apache 日志轮转示例的 /etc/logadm.conf 项与以下示例类似:

# cat /etc/logadm.conf
.
.
.
/var/apache/logs/error_log -s 10m
/var/apache/logs/access_log -s 100m

有关更多信息,请参见 logadm(1M)

如果要向非 root 用户授予维护日志文件的特权,可以授予 "Log Management"(日志管理)作为该用户的权限配置文件。可以将 –P 选项与 useradd 命令(对于新用户)或 usermod 命令(对于现有用户)配合使用来执行该授予。有关说明,请参见 useradd (1M) 和 usermod (1M) 手册页。