Chinaunix首页 | 论坛 | 博客
  • 博客访问: 269472
  • 博文数量: 41
  • 博客积分: 2560
  • 博客等级: 少校
  • 技术积分: 465
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-01 15:56
文章分类

全部博文(41)

文章存档

2011年(10)

2010年(31)

我的朋友

分类: LINUX

2010-08-24 16:21:22

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:*              





阅读(8752) | 评论(0) | 转发(1) |
0

上一篇:pure-ftpd 安装配置

下一篇:shell 一句

给主人留下些什么吧!~~