您的位置:首页 > 其它

关于history的一些小问题

2011-03-29 16:02 281 查看
由于针对服务器操作命令,做有证可查,需要对各个ldap用户,以及系统用户曾经使用过的命令,进行记录备份,并且要求每条命令有具体的操作时间。

一、history命令的默认输出如下

986 service httpd start

987 vi /usr/local/apache/conf/httpd.conf

988 service httpd start

989 ps aux

990 vi /usr/local/apache/conf/httpd.conf

991 service httpd start

992 vi /usr/local/apache/conf/httpd.conf

993 vi /etc/sysconfig/network

994 service httpd start

995 vi /usr/local/apache/conf/httpd.conf

996 vi /etc/sysconfig/network

997 hostname localhost

998 exit

999 history

1000 set

1001 history

这样的结果是因为我们定义了变量

HISTFILESIZE=1000 ###.bash_history 文件大小最大1KB

HISTSIZE=1000 ### 命令条数最多1000条

二、所以在服务器上重新定义一下变量

vi /etc/profile

###插入以下内容

HISTSIZE=10000

HISTFILESIZE=1000000000

HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S " ### 输出命令时候带时间格式

##保存后 执行 source /etc/profile

此时查看 history 命令输出

990 2011-03-29 16:05:38 vi /usr/local/apache/conf/httpd.conf

991 2011-03-29 16:05:38 service httpd start

992 2011-03-29 16:05:38 vi /usr/local/apache/conf/httpd.conf

993 2011-03-29 16:05:38 vi /etc/sysconfig/network

994 2011-03-29 16:05:38 service httpd start

995 2011-03-29 16:05:38 vi /usr/local/apache/conf/httpd.conf

996 2011-03-29 16:05:38 vi /etc/sysconfig/network

997 2011-03-29 16:05:38 hostname localhost

998 2011-03-29 16:05:38 exit

999 2011-03-29 16:05:39 history

1000 2011-03-29 16:08:00 set

1001 2011-03-29 16:08:17 history

1002 2011-03-29 16:09:11 set

1003 2011-03-29 16:09:58 ls -a

1004 2011-03-29 16:10:44 cat .bash_history

1005 2011-03-29 16:10:49 cat .bash_history |wc -l

1006 2011-03-29 16:11:52 vi /etc/profile

1007 2011-03-29 16:12:36 source /etc/profile

1008 2011-03-29 16:12:37 ls

1009 2011-03-29 16:12:38 history

##已经有了 时间格式 而且超出1000条。

三、这样每天在crontab中对各个用户的 .bash_history 进行备份就可以满足需求了。

ok ,有需要的py,可以动手了哈。。。

本文出自 “海风的linux之路” 博客,请务必保留此出处http://lhflinux.blog.51cto.com/1961662/529887
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: