时间大盗:用ac -d查看用户每天在线时长,居然高于24小时
ac是linux下很有意思的命令,可以统计用户的在线时长
按man ac的解释
AC(1) General Commands Manual AC(1)NAMEac - print statistics about users' connect timeSYNOPSISac [ -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 ]DESCRIPTIONac prints out a report of connect time (in hours) based on the logins/logouts in the current wtmp file.A total is also printed out.The accounting file wtmp is maintained by init(8) and login(1). Neither ac nor login creates the wtmp ifit doesn't exist, no accounting is done. To begin accounting, create the file with a length of zero.NOTE: The wtmp file can get really big, really fast. You might want to trim it every once and a while.GNU ac works nearly the same UNIX ac, though it's a little smarter in several ways. You should thereforeexpect differences in the output of GNU ac and the output of ac's on other systems. Use the command infoaccounting to get additional information.OPTIONS-d, --daily-totalsPrint totals for each day rather than just one big total at the end. The output looks like this:Jul 3 total 1.17Jul 4 total 2.10Jul 5 total 8.23Jul 6 total 2.10Jul 7 total 0.30-p, --individual-totalsPrint time totals for each user in addition to the usual everything-lumped-into-one value. Itlooks like:bob 8.06goff 0.60maley 7.37root 0.12total 16.15people Print out the sum total of the connect time used by all of the users included in people. Notethat people is a space separated list of valid user names; wildcards are not allowed.-f, --file filenameRead from the file filename instead of the system's wtmp file.--complainWhen the wtmp file has a problem (a time-warp, missing record, or whatever), print out an appro‐priate error.--rebootsReboot records are NOT written at the time of a reboot, but when the system restarts; therefore,it is impossible to know exactly when the reboot occurred. Users may have been logged into thesystem at the time of the reboot, and many ac's automatically count the time between the login andthe reboot record against the user (even though all of that time shouldn't be, perhaps, if thesystem is down for a long time, for instance). If you want to count this time, include the flag.*For vanilla ac compatibility, include this flag.*--supplantsSometimes, a logout record is not written for a specific terminal, so the time that the last useraccrued cannot be calculated. If you want to include the time from the user's login to the nextlogin on the terminal (though probably incorrect), include this you want to include the time fromthe user's login to the next login on the terminal (though probably incorrect), include this flag.*For vanilla ac compatibility, include this flag.*--timewarpsSometimes, entries in a wtmp file will suddenly jump back into the past without a clock changerecord occurring. It is impossible to know how long a user was logged in when this occurs. Ifyou want to count the time between the login and the time warp against the user, include thisflag. *For vanilla ac compatibility, include this flag.*--compatibilityThis is shorthand for typing out the three above options.-a, --all-daysIf we're printing daily totals, print a record for every day instead of skipping intervening dayswhere there is no login activity. Without this flag, time accrued during those intervening daysgets listed under the next day where there is login activity.--tw-leniency numSet the time warp leniency to num seconds. Records in wtmp files might be slightly out of order(most notably when two logins occur within a one-second period - the second one gets writtenfirst). By default, this value is set to 60. If the program notices this problem, time is notassigned to users unless the --timewarps flag is used.--tw-suspicious numSet the time warp suspicious value to num seconds. If two records in the wtmp file are fartherthan this number of seconds apart, there is a problem with the wtmp file (or your machine hasn'tbeen used in a year). If the program notices this problem, time is not assigned to users unlessthe --timewarps flag is used.-y, --print-yearPrint year when displaying dates.-z, --print-zerosIf a total for any category (save the grand total) is zero, print it. The default is to suppressprinting.--debugPrint verbose internal information.-V, --versionPrint the version number of ac to standard output and quit.-h, --helpPrints the usage string and default locations of system files to standard output and exits.
FILESwtmpThe system wide login record file. See wtmp(5) for further details.
AUTHORThe GNU accounting utilities were written by Noel Cragg <noel@gnu.ai.mit.edu>. The man page was adaptedfrom the accounting texinfo page by Susan Kleinmann <sgk@sgk.tiac.net>.
SEE ALSOlogin(1), wtmp(5), init(8), sa(8)
ac prints out a report of connect time (in hours) based on the logins/logouts in the current wtmp file.
他的时间都是按小时计算的
常用的操作有
(1)-p:显示每个用户的连接时间
(2)-d:显示每天的连接时间
(3)-y:显示年份,可-d配合使用
还可在后面接用户名,比如
ac -d wa**ing
就是按天打印wa**ing的在线时长
但是我实际用的结果是
root@zhanglei:/# ac -d wa**ing
Jan 2 total 5.15
Jan 3 total 1.79
Jan 4 total 13.59
Jan 5 total 17.14
Jan 6 total 6.04
Jan 7 total 3.21
Jan 12 total 0.04
Jan 13 total 0.13
Jan 14 total 5.46
Jan 18 total 7.21
Jan 19 total 12.24
Jan 21 total 0.00
Jan 22 total 10.21
Jan 23 total 24.00
Jan 24 total 24.61
Jan 25 total 24.37
Jan 26 total 29.11
Jan 27 total 33.44
Today total 3.14
最后几行居然大于24
众所周知,一天24小时。。。难道wa**ing就是传说中的时间大盗??
在ac -d 不加用户名的时候,我发现
很多都大于了24小时
Jan 23 total 43.46
Jan 24 total 79.01
Jan 25 total 186.64
Jan 26 total 146.27
Jan 27 total 145.32
Today total 15.76
猜测大于24小时的原因是,具体的时间,是按照用户在线进程统计的
比如一个用户同时有三个ssh通信连接服务器,那ac统计的时间是3*在线时间
从来就没有什么时间大盗,每个人一天都是24小时,一定要珍惜时间呀!!
时间大盗:用ac -d查看用户每天在线时长,居然高于24小时相关推荐
- mysql 统计时长_使用 mysql 统计平均用户在线时长
在表中,记录了用户 login/logout 的时间点(unix时间).现在需要确定当日用户的在线时长总和,与平均在线时长. 简单的说,就是要求出匹配 userid 的 login/logout ti ...
- 统计app用户在线时长_「云工作普及系列」2.如何实时统计工作时长,提高工作效率
记上节我们讲了[1.如何注册云工作平台]之后,接下来一起探索下该平台提供的各个产品功能.今天主要讲一下如何它的实时统计工作时长是怎么实现的? 我们先来了解一下它的工作时长实时统计的功能. 一,从web ...
- webScoket即时聊天,用户不在线时消息暂存,上线立马收到
这个代码是用webScoket写的即时聊天通讯的,功能可群发单发,可对不在线用户发送消息时用户一上线立马就能收到消息,也可以查看未读数量,这个代码写了有一段时间了,忽然想起来就想着发上来记一下和交流一 ...
- 统计app用户在线时长_优质的APP推广渠道,应该如何筛选?
本文3187字,阅读时间约8分钟 随着移动互联网行业的快速发展,APP的推广渠道越来越多样化,但是对于APP运营推广人员来说,渠道的质量远比数量更加重要,有时候投放一百个普通渠道都不如投放一个优质渠道 ...
- Vue 页面如何利用生命周期函数监听用户预览时长
最近的业务中涉及到这样一个需求,在线培训的系统需要知道用户对某个在线预览的页面追踪用户的预览时长.初步我们首先想到借助 Vue 页面的生命周期函数 mounted 和 destroyed,分别在其中加 ...
- php中的for循环最多循环多少次,php - 我在PHP中有2次时间,如何运行foreach循环来遍历所有这些日子? (最后24小时同时循环1小时!) - 堆栈内存溢出...
这是此项目可能需要的php文档列表: 以下是示例代码,将在一小时内递减最后24小时: $timenow = time(); for ($i = 0; $i < 24; $i ++) { $ago ...
- java 统计在线时长_如何有效统计app用户在线时长?
Android平台: sdk版本v5.2.0及之后: app的单次使用时长=本次启动的结束时间减去本次启动的开始时间,即end_time减去start_time. 如果在本次启动过程中,应用退到后台运 ...
- linux怎能查硬盘通电时间,查看LINUX服务器型号磁盘加电时长
有时服务器部署多年后,已经记不得服务器型号,但是跑机房又多有不便,查了下资料使用以下命令即可轻松实现显示LINUX服务器型号: sudo dmidecode |grep Product 查看硬盘使用时 ...
- 计算机里的MAC,怎么在mac苹果电脑中查看电脑开机运行的时长
怎么在mac苹果电脑中查看电脑开机运行的时长 腾讯视频/爱奇艺/优酷/外卖 充值4折起 今天给大家介绍一下怎么在mac苹果电脑中查看电脑开机运行的时长的具体操作步骤. 1. 打开电脑,进入桌面,点击左 ...
最新文章
- 基于Pygame写的翻译方法
- 使用Python在Selenium WebDriver中获取WebElement的HTML源代码
- SPL spl_autoload_register 初体验 (转)
- DataAdapter对象
- 暑期应用开发怎么玩?申请蓝牙Mesh网关操控家里的一切
- 【C#每日一贴】ArrayList 转换成byte数组
- Scala入门到精通—— 第二节Scala基本类型及操作、程序控制结构
- Git ----fatal: unable to access ‘https://gitee.com/***.git/‘: SSL certificate problem: unable
- 顶尖黑客集结令 | GeekPwn2018上海站邀你“决战AI安全”
- delphi 字符串处理中的怪异现象与处理
- python strip() 方法
- 一秒学会,小白也能上手,最简单的装逼代码
- 最好用的杀毒软件avast!antivirus加免费注册码!
- maya中英文对照_Maya中英文对照
- android听筒+扬声器自动切换,Android 听筒扬声器切换(多机型兼容、兼容5.0以上)...
- 以梦为马,一路向前——我的2014
- 「运维有小邓」搜索日志数据以作为网络安全情报
- turtle设置背景图片
- 互联网的前世今生:Web 1.0、2.0、3.0
- 【原创】从头开始,使用安卓系统WebView做一个功能强大的Epub阅读器(二)