alog 命令
用途
创建并维护创建自标准输入的固定大小的日志文件。
语法
描述
alog 命令读取标准输入,并写至标准输出,然后将输出复制到固定大小的文件。 此文件当作是一个循环的日志。 如果此文件满了,新的条目覆盖最旧的现有条目。
alog 命令处理在命令行指定的日志文件或在 alog 配置数据库中定义的日志。 在 alog 配置数据库中定义的日志由 LogType 标识。 每个定义的 LogType 的 文件, 大小和 详细信息 属性都存储在具有 LogType的 alog 配置数据库中。 您可以使用 odmadd 命令将新的 LogType 添加到 alog 配置数据库。 您可以使用 alog 命令来更改 alog 配置数据库中定义的 LogType 的属性。
标志
| 项 | 描述 |
|---|---|
| -C | 更改指定 LogType 的属性。 将 -C 标志与 -f, -s和 -w 标志配合使用,以更改指定 LogType的 File, Size和 Verbo志 属性。 -t LogType 标志是必需的。 注: 将 -C 标志与 -sSize 配合使用只会更改 ODM 中的大小值,而不会更改实际日志文件的大小。
如果使用 -C 标志,alog 命令不会将标准输入复制到标准输出或某个日志文件中。 当使用 -C 标志来修改控制台日志类型的属性时,控制台日志文件也将得到修改,且控制台设备驱动程序将更新以使用新的值。 这是 alog -C 的常规操作的一种背离,用于适应控制台日志文件中的特殊格式。 注:您必须具有 root 用户权限才能更改 alog 属性。 |
| -f LogFile | 指定日志文件的名称。 如果指定的日志文件不存在,那么会创建日志文件。 如果 alog 命令无法写至日志文件,那么它会写至 /dev/null。 使用带有 -C 和 -t 标志的 -f LogFile 标志来更改 alog 配置数据库中定义的 LogType 的 File 属性。 |
| -h | 显示 alog 命令的用法。 |
| -L | 列出当前在 alog 配置数据库中定义的日志类型。 如果将 -L 标志和 -t LogType 标志一起使用,那么会列出指定 LogType 的属性。 File、Size 和 Verbosity 的当前属性以用冒号隔开的值列出:如果使用 -L 标志,那么 alog 命令不会将标准输入复制到标准输出或文件。 |
| -O | 列示日志文件的内容。 按顺序将日志文件的内容写至标准输出。 |
| -q | 将标准输入复制到日志文件,但不写至标准输出。 |
| -s 大小 | 指定日志文件的大小限制(以字节计)。 创建日志文件时会为其保留此空间。 如果创建了新的日志文件并且未指定 Size
属性,那么会使用最小大小(4096 字节)。 如果日志文件已存在,那么会更改其大小。 您指定的大小会变大,成为下一个 4096 整数倍字节。 日志文件的最大大小为 2 GB。 如果指定的大小大于 2 GB,那么仅考虑使用 2 GB。 如果缩小日志文件的大小,那么会删除日志中不符合新大小限制的最旧条目。 必须对日志文件具有写许可权才能更改其大小。 将 -s Size 标志与 -C 和 -t 标志配合使用,以更改 alog 配置数据库中定义的 LogType 的 Size 属性。 仅更改了 ODM 中的大小值。 实际日志文件的大小保持不变。 新的 Size 属性值将在下一次创建日志文件时使用。 |
| -t LogType | 标识在 alog 配置数据库中定义的日志。 alog 命令从 alog 配置数据库中获取日志的文件名称和大小。 如果
LogFile 不存在,那么创建一个。 如果 alog 命令不能从 alog 配置数据库中获取指定 LogType 的信息或 alog 命令不能写至 LogFile,那么它写至 /dev/null。 如果使用 -f 标志指定 LogType 和 LogFile ,那么将使用 LogFile 并忽略 LogType 。 |
| -V | 将 alog 配置数据库中定义的 LogType 的 Verbo志 属性的当前值写入标准输出。 如果不指定 LogType
,或您指定的 LogType 未定义,那么没有值写至标准输出。 将 alog 命令与 -t LogType 和 -V 标志配合使用的值输出可由将其输出输送到 alog 命令以控制其写入管道的数据的详细程度的命令使用。 |
| -w 详细程度 | 当与 -C 和 -t 标志一起使用时,更改 alog 配置数据库中定义的 LogType 的 Verbo志 属性。 The 详细程度 attribute can have a value from 0 to 9. 如果值为 0 ,那么 alog 命令不会将任何信息复制到 LogFile 。 所有的信息依旧写至标准输出。 如果值不为 0,那么所有传送到 alog 命令的标准输入复制到 LogFile 和标准输出。 |
示例
- 要在指定的日志文件中记录当前日期和时间sample.log,请输入:
date | alog -f /tmp/sample.log - 列出以下项的内容:/tmp/sample.log日志文件,请输入:
alog -f /tmp/sample.log -o - 要更改指定的日志文件的大小,请执行以下操作: /tmp/sample.log至 8192 字节,请输入:
echo "resizing log file" | alog -f /tmp/sample.log -s 8192 - 要添加新的日志类型sample到 alog 配置数据库,创建alog.add以下格式的文件:
SWservAt: attribute="alog_type" deflt="sample" value="sample"SWservAt: attribute="sample_logname" deflt="/tmp/sample.log" value="/tmp/sample.log"SWservAt: attribute="sample_logsize" deflt="4096" value="4096"SWservAt: attribute="sample_logverb" deflt="1" value="1"在创建alog.add文件,输入:
odmadd alog.add这就增加了alog.add文件到SWservAt。
- 要更改日志类型的日志文件的名称,请执行以下操作:sample至/var/sample.log在 alog 配置数据库中,输入:
alog -C -t sample -f /var/sample.log - 要将引导日志的大小改为 8192 字节并在 ODM 中反映新大小,请输入:
alog -C -t boot -s 8192 echo "Changed log size" | alog -t boot -s 8192
文件
| 项 | 描述 |
|---|---|
| /etc/objrepos/SWservAt | 软件服务辅助属性对象类 |