Linux中常见的日志文件和命令
lastlog命令
lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示**Never logged**。注意需要以root身份运行该命令,例如:
另外,可加一些参数,例如,"last -u 102"命令将报告UID为102的用户;"last -t 7"命令表示限制为上一周的报告。
进程统计
UNIX可以跟踪每个用户运行的每条命令,如果想知道昨晚弄乱了哪些重要的文件,进程统计子系统可以告诉你。它还对跟踪一个侵入者有帮助。与连接时间日志不同,进程统计子系统默认不激活,它必须启动。在Linux系统中启动进程统计使用accton命令,必须用root身份来运行。accton命令的形式为:accton file,file必须事先存在。先使用touch命令创建pacct文件:touch /var/log/pacct,然后运行accton:accton /var/log/pacct。一旦accton被激活,就可以使用lastcomm命令监测系统中任何时候执行的命令。若要关闭统计,可以使用不带任何参数的accton命令。
lastcomm命令报告以前执行的文件。不带参数时,lastcomm命令显示当前统计文件生命周期内记录的所有命令的有关信息。包括命令名、用户、tty、命令花费的CPU时间和一个时间戳。如果系统有许多用户,输入则可能很长。看下面的例子:
进程统计的一个问题是pacct文件可能增长得十分迅速。这时需要交互式地或经过cron机制运行sa命令来保证日志数据在系统控制内。sa命令报告、清理并维护进程统计文件。它能把/var/log/pacct中的信息压缩到摘要文件/var/log/savacct和/var/log/usracct中。这些摘要包含按命令名和用户名分类的系统统计数据。在默认情况下sa先读它们,然后读pacct文件,使报告能包含所有的可用信息。sa的输出有下面一些标记项。
avio:每次执行的平均I/O操作次数。
cp:用户和系统时间总和,以分钟计。
cpu:和cp一样。
k:内核使用的平均CPU时间,以1k为单位。
k*sec:CPU存储完整性,以1k-core秒为单位。
re:实时时间,以分钟计。
s:系统时间,以分钟计。
tio:I/O操作的总数。
u:用户时间,以分钟计。
例如:
用户还可以根据用户而不是命令来提供一个摘要报告。例如,键入命令"sa -m",将显示如下内容:
lastlog文件在每次有用户登录时被查询。可以使用lastlog命令检查某特定用户上次登录的时间,并格式化输出上次登录日志/var/log/lastlog的内容。它根据UID排序显示登录名、端口号(tty)和上次登录时间。如果一个用户从未登录过,lastlog显示**Never logged**。注意需要以root身份运行该命令,例如:
rong 5 202.38.64.187 Fri Aug 18 15:57:01 +0800 2000 dbb **Never logged in** xinchen **Never logged in** pb9511 **Never logged in** xchen 0 202.38.64.190 Sun Aug 13 10:01:22 +0800 2000 |
另外,可加一些参数,例如,"last -u 102"命令将报告UID为102的用户;"last -t 7"命令表示限制为上一周的报告。
进程统计
UNIX可以跟踪每个用户运行的每条命令,如果想知道昨晚弄乱了哪些重要的文件,进程统计子系统可以告诉你。它还对跟踪一个侵入者有帮助。与连接时间日志不同,进程统计子系统默认不激活,它必须启动。在Linux系统中启动进程统计使用accton命令,必须用root身份来运行。accton命令的形式为:accton file,file必须事先存在。先使用touch命令创建pacct文件:touch /var/log/pacct,然后运行accton:accton /var/log/pacct。一旦accton被激活,就可以使用lastcomm命令监测系统中任何时候执行的命令。若要关闭统计,可以使用不带任何参数的accton命令。
lastcomm命令报告以前执行的文件。不带参数时,lastcomm命令显示当前统计文件生命周期内记录的所有命令的有关信息。包括命令名、用户、tty、命令花费的CPU时间和一个时间戳。如果系统有许多用户,输入则可能很长。看下面的例子:
crond F root ?? 0.00 secs Sun Aug 20 00:16 promisc_check.s S root ?? 0.04 secs Sun Aug 20 00:16 promisc_check root ?? 0.01 secs Sun Aug 20 00:16 grep root ?? 0.02 secs Sun Aug 20 00:16 tail root ?? 0.01 secs Sun Aug 20 00:16 sh root ?? 0.01 secs Sun Aug 20 00:15 ping S root ?? 0.01 secs Sun Aug 20 00:15 ping6.pl F root ?? 0.01 secs Sun Aug 20 00:15 sh root ?? 0.01 secs Sun Aug 20 00:15 ping S root ?? 0.02 secs Sun Aug 20 00:15 ping6.pl F root ?? 0.02 secs Sun Aug 20 00:15 sh root ?? 0.02 secs Sun Aug 20 00:15 ping S root ?? 0.00 secs Sun Aug 20 00:15 ping6.pl F root ?? 0.01 secs Sun Aug 20 00:15 sh root ?? 0.01 secs Sun Aug 20 00:15 ping S root ?? 0.01 secs Sun Aug 20 00:15 sh root ?? 0.02 secs Sun Aug 20 00:15 ping S root ?? 1.34 secs Sun Aug 20 00:15 locate root ttyp0 1.34 secs Sun Aug 20 00:15 accton S root ttyp0 0.00 secs Sun Aug 20 00:15 |
进程统计的一个问题是pacct文件可能增长得十分迅速。这时需要交互式地或经过cron机制运行sa命令来保证日志数据在系统控制内。sa命令报告、清理并维护进程统计文件。它能把/var/log/pacct中的信息压缩到摘要文件/var/log/savacct和/var/log/usracct中。这些摘要包含按命令名和用户名分类的系统统计数据。在默认情况下sa先读它们,然后读pacct文件,使报告能包含所有的可用信息。sa的输出有下面一些标记项。
avio:每次执行的平均I/O操作次数。
cp:用户和系统时间总和,以分钟计。
cpu:和cp一样。
k:内核使用的平均CPU时间,以1k为单位。
k*sec:CPU存储完整性,以1k-core秒为单位。
re:实时时间,以分钟计。
s:系统时间,以分钟计。
tio:I/O操作的总数。
u:用户时间,以分钟计。
例如:
842 173.26re 4.30cp 0avio 358k 2 10.98re 4.06cp 0avio 299k find 9 24.80re 0.05cp 0avio 291k ***other 105 30.44re 0.03cp 0avio 302k ping 104 30.55re 0.03cp 0avio 394k sh 162 0.11re 0.03cp 0avio 413k security.sh* 154 0.03re 0.02cp 0avio 273k ls 56 31.61re 0.02cp 0avio 823k ping6.pl* 2 3.23re 0.02cp 0avio 822k ping6.pl 35 0.02re 0.01cp 0avio 257k md5sum 97 0.02re 0.01cp 0avio 263k initlog 12 0.19re 0.01cp 0avio 399k promisc_check.s 15 0.09re 0.00cp 0avio 288k grep 11 0.08re 0.00cp 0avio 332k awk |
用户还可以根据用户而不是命令来提供一个摘要报告。例如,键入命令"sa -m",将显示如下内容:
885 173.28re 4.31cp 0avk root 879 173.23re 4.31cp 0avk alias 3 0.05re 0.00cp 0avk qmailp 3 0.01re 0.00cp 0avk |
0
相关文章