linux script 记录用户命令
介绍:
当系统工程师想要记录某个会话的时候,则只需要在会话开始时输入script命令。输入这个命令后,系统就会将当前用户的所有键盘操作、屏幕输出以及错误
信息等等保存到一个特定的文件中。如上面执行了ps命令与who命令后,希望就会将这两个命令(用户的键盘操作)、屏幕输出(命令的执行结果)等等保存到
文件中。当工程师需要退出记录过程时,则只需要输入exit命令,系统就会就是script done的提示信息。表示系统已经结束了记录工作.
一、操作:
[root@xen_202_18 ~]# vi /etc/profile
新增内容如下:
if [ $UID -ge 500 ]; then
exec /usr/bin/script -a -f -q /var/log/test/$USER-$UIDO-`date +%Y%m%d%H%M`.log
fi
这样用户登陆后执行的操作都会记录到/var/log/test/*.log里,我们可以通过more或vi来进行查看
[root@xen_202_18 test]# ll
total 28
-rw-r--r-- 1 test test 1869 Aug 24 15:37 test--201008241536.log
-rw-r--r-- 1 test test 11681 Aug 24 16:05 test--201008241538.log
-rw-r--r-- 1 tim tim 2048 Aug 24 15:58 tim--201008241557.log
[root@xen_202_18 test]# more test--201008241538.log
Script started on Tue 24 Aug 2010 03:38:16 PM CST
[test@xen_202_18 ~]$ ll
total 0
[test@xen_202_18 ~]$ ps -aux
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.0 0.0 10348 496 ? Ss Aug10 0:00 init [3]
root 2 0.0 0.0 0 0 ? S< Aug10 0:00 [migration/0]
root 3 0.0 0.0 0 0 ? SN Aug10 0:00 [ksoftirqd/0]
root 4 0.0 0.0 0 0 ? S< Aug10 0:00 [watchdog/0]
root 5 0.0 0.0 0 0 ? S< Aug10 0:00 [events/0]
root 6 0.0 0.0 0 0 ? S< Aug10 0:00 [khelper]
二、script还能用scriptreplay进行回放
因为使用scriptreplay回放需要跟时间结合,所以需要使用-t进行记录时间这两个文件放置位置可以自己定义如下:
1、[root@xen_202_18 ~]# vi /etc/profile
新增内容:
if [ $UID -ge 500 ]; then
exec /usr/bin/script -t 2>/var/log/test/$USER-$UID-`date +%Y%m%d%H%M`.date -a -f -q /var/log/test/$USER-$UIDO-`date +%Y%m%d%H%M`.log
fi
2、scriptreplay
scriptreplay这个命令默认情况下是不会安装的,所以我们需要做些“工作”,其实,该命令就是一个perl脚本文件
下载:
[root@xen_202_18 test]# wget
[root@xen_202_18 test]# tar -jxvf util-linux-2.12r.tar.bz2
[root@xen_202_18 test]# ll
-rw-r--r-- 1 test test 1869 Aug 24 15:37 test--201008241536.log
-rw-r--r-- 1 test test 11681 Aug 24 16:05 test--201008241538.log
-rw-r--r-- 1 tim tim 2048 Aug 24 15:58 tim--201008241557.log
drwxr-xr-x 18 1000 1000 4096 Sep 24 2005 util-linux-2.12r
-rw-r--r-- 1 root root 1370907 Sep 24 2005 util-linux-2.12r.tar.bz2
[root@xen_202_18 test]# cp util-linux-2.12r/misc-utils/scriptreplay.pl /usr/bin/scriptreplay
查看:要注意那两个“时间文件”和“命令文件”的顺序,不要颠倒了
[root@xen_202_18 ophis]# scriptreplay tim-500-201008241557.date tim--201008241557.log
[tim@xen_202_18 ~]$ netstat -tuna
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 192.168.202.18:22 192.168.77.31:52937 ESTABLISHED
tcp 0 0 192.168.202.18:22 192.168.77.31:55082 ESTABLISHED
tcp 0 0 192.168.202.18:22 192.168.77.31:55107 ESTABLISHED
tcp 0 284 192.168.202.18:22 192.168.77.36:57495 ESTABLISHED
udp 0 0 192.168.122.1:53 0.0.0.0:*
udp 0 0 0.0.0.0:67 0.0.0.0:*
[tim@xen_202_18 ~]$ netstat -tunl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN
tcp 0 0 192.168.122.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
udp 0 0 192.168.122.1:53 0.0.0.0:*
udp 0 0 0.0.0.0:67 0.0.0.0:*
阅读(8869) | 评论(0) | 转发(1) |