Skip to content

ac(1) - 输出用户连接时间

输出用户连接时间

ac 基于当前的 /var/log/wtmp 文件中的登录和退出时间输出一个关于连接时间(以小时为单位)的报告。并且还输出一个总计时间。

记帐文件 /var/log/wtmp 由 init(8) 和 login(1) 维护。ac 和 login 均不生成 /var/log/wtmp 文件,如果记帐文件不存在,则不做记帐工作。如果要开始记帐,应生成一个长度为零的记帐文件。

注意:文件 /var/log/wtmp 可能很快就变得非常大。你可能隔一段时间就要裁减一下这个文件。

GNU ac 工作起来与 u*x ac 基本一样,但也在几个方面有小的改进。你可能希望看到 GNU ac 和其他系统上的 ac 在输出上的不同。想得到额外的信息,请使用命令 info accounting

shell
ac
	[ -d | --daily-totals ] [ -y | --print-year ]
	[ -p | --individual-totals ] [ people ]
	[ -f | --file filename ] [ -a | --all-days ]
	[ --complain ] [ --reboots ] [ --supplants ]
	[ --timewarps ] [ --compatibility ]
	[ --tw-leniency num ] [ --tw-suspicious num ]
	[ -z | --print-zeros ] [ --debug ]
	[ -V | --version ] [ -h | --help ]

选项

-d , --daily-totals

为每天输出输出一个总计时间,而不是在结尾输出一大的总计。输出可能象下面这样:

Jul 3 total 1.17
Jul 4 total 2.10
Jul 5 total 8.23
Jul 6 total 2.10
Jul 7 total 0.30

-p , --individual-totals

为每个用户输出总计时间,并在最后追加一个所有用户的总计时间的累计值。输出可能象下面这样:

bob 8.06
goff 0.60
maley 7.37
root 0.12
total 16.15

[用户列表]

输出的是在用户列表中包括的所有用户的连接时间的总计和值。用户列表由空格分隔,其中不允许有通配符。

-f , --file filename

从指定文件而不是系统的 /var/log/wtmp 文件中读取记帐信息。

--complain

/var/log/wtmp 存在着问题(时间扭曲,丢失记录,或其他任何问题),输出一个适当的错误信息。

--reboots

重新引导(reboot)记录不是在系统重新引导时写的,而是在系统重新启动(restart)时写的。所以不可能知道重新引导的精确的发生时间。用户在系统重新引导时可能已经在系统上登录了,许多 ac 依据用户(的要求)自动的统计在登录与重新引导记录之间的时间(尽管所有的这些时间不应是问题,但系统关机很长的时间时可能就是了)。如果你打算统计这个时间,就应包括此选项。

要求对 vanilla ac 的兼容性,就要包含此选项

--supplants

有时,注销记录没有写出明确的终端,因而最近的用户的自然增长的时间就不能被计算。如果你打算包括在一个终端上的从用户登录到下一次登录的时间(尽管可能是不正确的),就应包括此选项。

要求对 vanilla ac 的兼容性,就要包含此选项

--timewarps

一些时候,在 @WTMP_FILE_LOC 文件中的记录可能突然跳回到了以前的时间而却没有时钟更改记录出现。在这种情况发生时,不可能知道用户登录了多长时间。如果你打算依据用户(的要求)统计从登录到时间扭曲之间的时间,就应包括此选项。 要求对 vanilla ac 的兼容性,就要包含此选项

--compatibility

这是上面三种选项的速写,就不用敲三次键盘了。

-a , --all-days

如果我们在输出日总计时使用了此参数,则输出每天的记录,而不是忽略掉没有登录活动的间隔日。没有此选项时,在这些间隔日期间自然增长的时间被列在下一天即有登录活动的那一天的底下。

--tw-leniency num

设置时间扭曲的宽限为 num 秒。在 /var/log/wtmp 文件中的记录可能轻微的乱了次序(最显著的是当两个登录发生在

一前一后的时期,第二个可能先写了记录)。缺省的值被设置为 60。如果程序注意到了这个问题,除非使用了–timewarps 选项,否则不把时间赋给用户。

--tw-suspicious num

设置时间扭曲的不信任值为 num 秒。如果 /var/log/wtmp 文件中的两个记录超出了这个秒间隔数,那么 在 @WTMP_FILE_LOC 文件中一定存在问题( 或者你的机器已经一年没有使用了)。如果程序注意到了这个问题,除非使用了 --timewarps 选项,否则不把时间赋给用户。

-y , --print-year

在显示日期的时候输出年份。

-z , --print-zeros

一个任何类别的总计(除了全部总计)是零,还是输出此总计。缺省时禁止输出是零的总计。

--debug

输出冗余的内部(调试)信息。

-V , --version

在标准输出上输出版本号并退出。

-h , --help

在标准输出上输出使用方法并退出。


说明

创建时间: 2023-12-04 15:11:00 , 最后编辑于 2023-12-04 16:36:00