天天學一個 Linux 命令(115):accton

命令簡介

accton 命令是 Linux 系統進程管理命令之一,它的做用是打開進程統計,若是命令後面不帶任何參數,就是關閉進程統計。centos

默認系統是沒有安裝此命令的,須要用戶在使用前自行安裝,命令以下。bash

#CentOS
[root@centos7 ~]# acct
-bash: acct: command not found
[root@centos7 ~]# yum install psacct -y 
#Debian && Ubuntu
apt-get install acct
#Fedora
dnf install psacct

安裝完成以後,默認狀況下,psacct 服務是關閉狀態,在 RHEL/CentOS/Fedora 待系統下,須要用戶手動去開啓該服務。工具

[root@centos7 ~]# systemctl status psacct.service
● psacct.service - Kernel process accounting
   Loaded: loaded (/usr/lib/systemd/system/psacct.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
[root@centos7 ~]# systemctl start psacct.service
[root@centos7 ~]# systemctl status psacct.service
● psacct.service - Kernel process accounting
   Loaded: loaded (/usr/lib/systemd/system/psacct.service; disabled; vendor preset: disabled)
   Active: active (exited) since Mon 2021-03-29 08:00:51 EDT; 2s ago
  Process: 25987 ExecStart=/usr/sbin/accton /var/account/pacct (code=exited, status=0/SUCCESS)
  Process: 25985 ExecStartPre=/usr/libexec/psacct/accton-create (code=exited, status=0/SUCCESS)
 Main PID: 25987 (code=exited, status=0/SUCCESS)

語法格式

accton [OPTION] on|off|ACCOUNTING_FILE

選項說明

-p filename    #指定密碼文件filename
--version  #顯示ac版本並退出
--help     #打印命令概要

準確的說 acct 是一個工具包,裏面包含有針對用戶鏈接時間、進程執行狀況等進行統計的工具。它能夠記錄用戶登陸信息。用戶所執行的程序,程序執行狀況信息等。acct 包含如下工具包命令:this

ac   #顯示登陸帳號的簡要信息
accton    #打開或關閉進程記錄功能
last      #顯示曾經登陸過的用戶
lastcomm  #顯示已執行過的命令
sa        #進程用戶記錄信息的摘要
dump-utmp   #輸出utmp文件內容
dump-acct   #輸出acct或pacct文件內容

accton 命令參數centos7

on               Activate process accounting and use default file
off              Deactivate process accounting
ACCOUNTING_FILE  Activate (if not active) and save information in
this file
 
The system's default process accounting file is '/var/account/pacct'.
 
Report bugs to <bug-acct@gnu.org>

相關的詳細信息可查看幫助文件spa

應用舉例

#顯示用戶鏈接時間的統計信息
[root@centos7 ~]# ac
 total      173.79

#輸出天天的總登陸時間(小時)
[root@centos7 ~]# ac -d
Aug 20 total       13.60
Aug 30 total        3.19
Dec 24 total        0.28
Jan  2 total       21.99
Jan 15 total        1.22
Jan 16 total       23.75
Jan 17 total       31.34
Mar 10 total        7.38
Mar 21 total        2.84
Mar 23 total        0.04
Mar 24 total       24.62
Mar 27 total        0.66
Mar 28 total       22.98
Today total       19.90

#顯示每一個用戶的總登陸時間(小時)
[root@centos7 ~]# ac -p
 root                               173.79
 total      173.79

顯示指定用戶的天天登陸時長(小時)code

[root@centos7 ~]# ac -d mingongge
[root@centos7 ~]# ac -d root
Aug 20 total       13.60
Aug 30 total        3.19
Dec 24 total        0.28
Jan  2 total       21.99
Jan 15 total        1.22
Jan 16 total       23.75
Jan 17 total       31.34
Mar 10 total        7.38
Mar 21 total        2.84
Mar 23 total        0.04
Mar 24 total       24.62
Mar 27 total        0.66
Mar 28 total       22.98
Today total       19.98

打開或關閉進程帳號記錄功能orm

[root@centos7 ~]# accton on
Turning on process accounting, file set to the default '/var/account/pacct'.
[root@centos7 ~]# accton off
Turning off process accounting.

其它工具包舉例進程

#顯示曾經登陸過的用戶
[root@centos7 ~]# last
root     pts/2        192.168.1.93     Mon Mar 29 05:57   still logged in   
root     tty1                          Mon Mar 29 05:31   still logged in   
root     pts/1        192.168.1.93     Mon Mar 29 05:12 - 07:56  (02:44)    
root     pts/1        192.168.1.93     Mon Mar 29 05:08 - 05:11  (00:02)    
root     pts/0        192.168.1.93     Mon Mar 29 05:00 - 07:08  (02:08)    
root     pts/1        192.168.1.93     Sun Mar 28 23:42 - 04:59  (05:17)    
root     pts/0        192.168.1.93     Sun Mar 28 12:03 - 05:00  (16:56)    
root     pts/0        192.168.1.93     Sun Mar 28 10:38 - 12:00  (01:22)    
root     pts/0        192.168.1.93     Sun Mar 28 02:10 - 09:22  (07:12)    
root     pts/0        192.168.1.93     Sun Mar 28 02:07 - 02:10  (00:02)    
root     pts/1        192.168.1.93     Sun Mar 28 01:35 - 01:36  (00:00)    
root     pts/0        192.168.1.93     Sat Mar 27 23:20 - 02:07  (02:47)    
reboot   system boot  3.10.0-1127.18.2 Sat Mar 27 04:58 - 08:19 (2+03:20)   
root     pts/0        192.168.1.93     Wed Mar 24 21:09 - crash (2+07:49)   
root     pts/1        192.168.1.93     Wed Mar 24 15:15 - 15:54  (00:39)    
root     pts/0        192.168.1.93     Wed Mar 24 14:49 - 21:08  (06:19)    
root     pts/0        192.168.1.93     Wed Mar 24 05:44 - 14:48  (09:04)    
root     pts/0        192.168.1.93     Wed Mar 24 04:10 - 05:43  (01:33)    
root     pts/0        192.168.1.93     Tue Mar 23 23:57 - 04:10  (04:12)    
reboot   system boot  3.10.0-1127.18.2 Tue Mar 23 23:56 - 08:19 (5+08:22)   
root     pts/0        192.168.1.93     Tue Mar 23 23:27 - crash  (00:29)    
reboot   system boot  3.10.0-1127.18.2 Mon Mar 22 07:22 - 08:19 (7+00:56)   
root     pts/0        192.168.1.93     Sun Mar 21 10:31 - 12:15  (01:43)    
root     pts/0        192.168.1.93     Sun Mar 21 10:07 - 10:30  (00:23)    
root     pts/0        192.168.1.93     Sun Mar 21 01:29 - 02:12  (00:43)    
reboot   system boot  3.10.0-1127.18.2 Sun Mar 21 01:28 - 08:19 (8+06:50)   
root     pts/0        192.168.1.93     Wed Mar 10 11:20 - 14:32  (03:12)    
root     pts/1        192.168.1.93     Wed Mar 10 10:39 - 11:11  (00:32)    
root     pts/1        192.168.1.93     Wed Mar 10 09:14 - 10:38  (01:24)    
root     pts/1        192.168.1.93     Wed Mar 10 09:04 - 09:05  (00:00)    
root     pts/0        192.168.1.93     Wed Mar 10 09:00 - 11:13  (02:13)    
reboot   system boot  3.10.0-1127.18.2 Mon Mar  8 10:20 - 08:19 (20+20:58)  
root     pts/2        centos7          Sun Jan 17 14:30 - 15:31  (01:00)    
root     pts/0        192.168.1.93     Sun Jan 17 14:26 - 15:31  (01:04)    
root     pts/0        192.168.1.93     Sun Jan 17 12:44 - 14:01  (01:16)    
root     tty1                          Sun Jan 17 12:43 - crash (49+21:37)  
root     pts/1        192.168.1.93     Sun Jan 17 08:32 - 14:42  (06:10)    
root     pts/0        192.168.1.93     Sun Jan 17 08:26 - 10:31  (02:05)    
root     pts/0        192.168.1.93     Sat Jan 16 19:34 - 08:25  (12:51)    
root     pts/0        192.168.1.93     Sat Jan 16 16:17 - 19:33  (03:16)    
root     pts/0        192.168.1.93     Sat Jan 16 15:43 - 16:15  (00:31)    
root     pts/0        192.168.1.93     Sat Jan 16 10:28 - 15:43  (05:14)    
root     pts/0        192.168.1.93     Sat Jan 16 09:51 - 10:27  (00:36)    
root     pts/0        192.168.1.93     Sat Jan 16 03:35 - 09:51  (06:15)    
root     pts/0        192.168.1.93     Fri Jan 15 22:46 - 03:23  (04:37)    
reboot   system boot  3.10.0-1127.18.2 Thu Jan 14 05:41 - 08:19 (74+01:37)  
root     pts/0        192.168.1.93     Sat Jan  2 08:42 - 11:04  (02:22)    
root     pts/0        192.168.1.93     Sat Jan  2 06:42 - 08:41  (01:59)    
root     tty1                          Sat Jan  2 06:22 - crash (11+23:19)  
reboot   system boot  3.10.0-1127.18.2 Sat Jan  2 06:21 - 08:19 (86+00:58)  
root     pts/0        192.168.1.93     Thu Dec 24 22:33 - 22:39  (00:06)    
root     tty1                          Thu Dec 24 22:29 - 22:40  (00:10)    
reboot   system boot  3.10.0-1127.18.2 Thu Dec 24 22:28 - 22:40  (00:12)    
root     pts/1        192.168.1.93     Sun Aug 30 03:58 - down   (00:44)    
root     pts/0        192.168.1.93     Sun Aug 30 03:29 - down   (01:13)    
root     tty1                          Sun Aug 30 03:29 - 04:42  (01:13)    
reboot   system boot  3.10.0-1127.18.2 Sun Aug 30 03:28 - 04:42  (01:14)    
root     pts/1        192.168.1.93     Thu Aug 20 11:20 - crash (9+16:08)   
root     pts/0        192.168.1.93     Thu Aug 20 10:46 - 11:39  (00:53)    
reboot   system boot  3.10.0-1062.el7. Thu Aug 20 10:45 - 04:42 (9+17:57)   
root     tty1                          Thu Aug 20 10:42 - 10:45  (00:02)    
reboot   system boot  3.10.0-1062.el7. Thu Aug 20 10:42 - 10:45  (00:03)    

wtmp begins Thu Aug 20 10:42:00 2020

#顯示已執行過的命令
[root@centos7 ~]# lastcomm
last                   root     pts/2      0.01 secs Mon Mar 29 08:19
bash              F    root     pts/2      0.00 secs Mon Mar 29 08:19
cat                    root     pts/2      0.00 secs Mon Mar 29 08:18
accton           S     root     pts/2      0.00 secs Mon Mar 29 08:18
accton                 root     pts/2      0.00 secs Mon Mar 29 08:17
accton           S     root     pts/2      0.00 secs Mon Mar 29 08:17
accton                 root     pts/2      0.00 secs Mon Mar 29 08:17
accton           S     root     pts/2      0.00 secs Mon Mar 29 08:17
accton                 root     pts/2      0.00 secs Mon Mar 29 08:17
ac                     root     pts/2      0.00 secs Mon Mar 29 08:15
ac                     root     pts/2      0.00 secs Mon Mar 29 08:15
ac                     root     pts/2      0.00 secs Mon Mar 29 08:13
ac                     root     pts/2      0.00 secs Mon Mar 29 08:13
ac                     root     pts/2      0.00 secs Mon Mar 29 08:13
kworker/0:2       F    root     __         0.00 secs Mon Mar 29 08:07
kworker/0:0       F    root     __         2.36 secs Mon Mar 29 07:20
systemd-cgroups  S     root     __         0.00 secs Mon Mar 29 08:10
crond            SF    root     __         0.01 secs Mon Mar 29 08:10
sadc             S     root     __         0.01 secs Mon Mar 29 08:10
date                   root     __         0.00 secs Mon Mar 29 08:10
date                   root     __         0.00 secs Mon Mar 29 08:10
kworker/0:2       F    root     __         0.22 secs Mon Mar 29 07:47
accton                 root     pts/2      0.00 secs Mon Mar 29 08:03
systemd-cgroups  S     root     __         0.00 secs Mon Mar 29 08:01
crond            SF    root     __         0.02 secs Mon Mar 29 08:01
run-parts              root     __         0.00 secs Mon Mar 29 08:01
logger                 root     __         0.00 secs Mon Mar 29 08:01
basename               root     __         0.00 secs Mon Mar 29 08:01
awk                    root     __         0.00 secs Mon Mar 29 08:01
0anacron               root     __         0.00 secs Mon Mar 29 08:01
date                   root     __         0.00 secs Mon Mar 29 08:01
cat                    root     __         0.00 secs Mon Mar 29 08:01
logger                 root     __         0.00 secs Mon Mar 29 08:01
basename               root     __         0.00 secs Mon Mar 29 08:01
run-parts         F    root     __         0.00 secs Mon Mar 29 08:01
systemctl        S     root     pts/2      0.00 secs Mon Mar 29 08:00
systemctl        S     root     pts/2      0.00 secs Mon Mar 29 08:00
pkttyagent           X root     pts/2      0.03 secs Mon Mar 29 08:00
systemd-tty-ask        root     pts/2      0.01 secs Mon Mar 29 08:00
systemd-cgroups  S     root     __         0.00 secs Mon Mar 29 08:00
accton           S     root     __         0.00 secs Mon Mar 29 08:00

#輸出全部的賬戶活動信息
[root@centos7 ~]# sa
      42      76.03re       0.04cp         0avio     15376k
      11      52.42re       0.04cp         0avio     22963k   ***other*
       2      23.59re       0.00cp         0avio         0k   kworker/0:2*
       2       0.00re       0.00cp         0avio     32128k   crond*
       8       0.00re       0.00cp         0avio       795k   accton
       5       0.01re       0.00cp         0avio      1092k   ac
       3       0.00re       0.00cp         0avio      2168k   systemd-cgroups
       3       0.00re       0.00cp         0avio     27024k   date
       2       0.01re       0.00cp         0avio     33728k   systemctl
       2       0.00re       0.00cp         0avio     27024k   cat
       2       0.00re       0.00cp         0avio     27008k   logger
       2       0.00re       0.00cp         0avio     27008k   basename
       3

這個命令所包含的這些工具包,功能仍是很是強大的,在平常工做中能夠很大程度提升咱們的工做效率,解決一些問題。get

相關文章
相關標籤/搜索