JavaScript is required to for searching.
跳过导航链接
退出打印视图
系统管理指南:高级管理     Oracle Solaris 10 1/13 Information Library (简体中文)
search filter icon
search icon

文档信息

关于本书

1.  管理终端和调制解调器(概述)

2.  设置终端和调制解调器(任务)

3.  使用服务访问工具管理串行端口(任务)

4.  管理系统资源(概述)

5.  显示和更改系统信息(任务)

6.  管理磁盘使用(任务)

7.  管理 UFS 配额(任务)

8.  调度系统任务(任务)

9.  管理系统记帐(任务)

10.  系统记帐(参考)

runacct 脚本

每日记帐报告

每日报告

每日使用情况报告

每日命令摘要

每月命令摘要

上次登录报告

使用 acctcom 检查 pacct 文件

系统记帐文件

runacct 脚本生成的文件

11.  管理系统性能(概述)

12.  管理系统进程(任务)

13.  监视系统性能(任务)

14.  软件问题疑难解答(概述)

15.  管理系统消息

16.  管理核心文件(任务)

17.  管理系统故障转储信息(任务)

18.  各种软件问题的故障排除(任务)

19.  文件访问问题故障排除(任务)

20.  解决 UFS 文件系统不一致问题(任务)

21.  软件包问题故障排除(任务)

索引

runacct 脚本

主要的每日记帐脚本 runacct 通常由 cron 命令在正常工作时间之外调用。runacct 脚本可以处理连接、费用、磁盘和进程记帐文件。此脚本还可准备每日摘要文件和累积摘要文件,以供 prdailymonacct 脚本记帐。

runacct 脚本可在发生错误时防止文件受到损坏。

使用一系列保护机制来执行以下任务:

该脚本通过向 active 文件中写入描述性消息来记录其进度。除非另有说明,否则假定 runacct 脚本所使用的文件位于 /var/adm/acct/nite 目录中。runacct 脚本执行期间的所有诊断输出都写入 fd2log 文件中。

调用 runacct 脚本时,将会创建 locklock1 文件。这些文件可防止同时执行 runacct 脚本。如果调用 runacct 程序时已经存在上述文件,则该程序将列显错误消息。lastdate 文件中包含上次调用 runacct 脚本的月份和日期,以避免每天多次执行脚本。

如果 runacct 脚本检测到错误,则会发生以下情况:

有关如何重新启动 runacct 脚本的说明,请参见如何重新启动 runacct 脚本

要允许重新启动 runacct 脚本,需要将处理细分为不同的可重复执行状态。statefile 文件用于跟踪完成的上一个状态。当每个状态完成时,都会更新 statefile 文件,以反映下一个状态。该状态的处理完成后,将读取 statefile 文件并处理下一个状态。当 runacct 脚本达到 CLEANUP 状态时,它将删除锁定并结束。将按下表所示来执行状态。

表 10-1 runacct 脚本的状态

状态
说明
SETUP
执行 turnacct switch 命令以创建新的 pacct 文件。/var/adm/pacct n 进程记帐文件(pacct 文件除外)被移至 /var/adm/Spacct n.MMDD 文件。/var/adm/wtmpx 文件被移至 /var/adm/acct/nite/wtmp.MMDD 文件(在结尾添加了当前时间记录)并创建一个新 /var/adm/wtmp 文件。closewtmputmp2wtmp 程序将向 wtmp.MMDD 文件和新的 wtmpx 文件中添加记录,以便 对当前登录的用户进行说明。
WTMPFIX
wtmpfix 程序检查 nite 目录中的 wtmp.MMDD 文件是否正确。由于某些日期更改会导致 acctcon 程序失败,所以 wtmpfix 程序会在有日期更改记录时尝试调整 wtmpx 文件中的时间戳。此程序还可删除 wtmpx 文件中的任何已损坏项。将 wtmp.MMDD 文件的已修复版本写入 tmpwtmp 文件。
CONNECT
acctcon 程序用于在文件 ctacct.MMDD 中记录连接记帐记录。这些记录使用 tacct.h 格式。此外,acctcon 程序还创建 lineusereboots 文件。reboots 文件会记录在 wtmpx 文件中找到的所有引导记录。
PROCESS
acctprc 程序用于将 /var/adm/Spacctn.MMDD 进程记帐文件转换为 ptacctn.MMDD 文件中的完整记帐记录。Spacctptacct 文件通过数字进行关联,这样在 runacct 脚本失败时,将不处理 Spacct 文件。
MERGE
acctmerg 程序将进程记帐记录与连接记帐记录合并,以形成 daytacct 文件。
FEES
acctmerg 程序将 fee 文件中的 ASCII tacct 记录合并到 daytacct 文件中。
DISK
dodisk 脚本可生成 disktacct 文件。如果 dodisk 脚本已运行并生成 disktacct 文件,则 DISK 程序会将该文件合并到 daytacct 文件中,并将 disktacct 文件移至 /tmp/disktacct.MMDD 文件。
MERGETACCT
acctmerg 程序将 daytacct 文件与 sum/tacct 文件(累计总记帐文件)合并。每天都将 daytacct 文件保存到 sum/tacct.MMDD 文件中,这样便可在 sum/tacct 文件损坏或丢失时重新创建该文件。
CMS
acctcms 程序多次运行。第一次运行该程序是为了使用 Spacct n 文件生成命令摘要,并向 sum/daycms 文件写入数据。第二次运行 acctcms 程序是为了将 sum/daycms 文件与 sum/cms 累积命令摘要文件合并。最后,再运行 acctcms 程序,以生成 nite/daycmsnite/cms,即分别来自 sum/daycmssum/cms 的 ASCII 文件。lastlogin 程序用于创建 /var/adm/acct/sum/loginlog 日志文件。此文件将报告每个用户的上次登录时间。如果 runacct 脚本在午夜后运行,则显示某些用户上次登录时间的日期会与正确日期相差一天。
USEREXIT
任何与安装相关(本地)的记帐程序都可在此点运行。runacct 脚本预计此程序为 /usr/lib/acct/runacct.local 程序。
CLEANUP
此状态可清除临时文件、运行 prdaily 脚本、将其输出保存至 sum/rpt.MMDD 文件、删除锁定,然后退出。

注意

注意 - 如果以 CLEANUP 状态重新启动 runacct 脚本,请删除最后一个 ptacct 文件,因为该文件将不完整。