Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11491804
  • 博文数量: 8065
  • 博客积分: 10002
  • 博客等级: 中将
  • 技术积分: 96708
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-16 17:06
文章分类

全部博文(8065)

文章存档

2008年(8065)

分类: 服务器与存储

2008-07-16 14:00:46

在实际的服务器/数据库管理当中,我们都要求管理员要很小心,并且在很多重要操作规范中都会有这样的要求:

保留操作纪录

出于对 保留操作纪录 的这样的要求,我写了一个script, 可用于自动纪录每个login 的session 所作的多数动作……





其实说起来也很简单,就是利用了 Unix/Linux 里的一个基本的命令,script , 达到纪录的目的

代码:--------------------------------------------------------------------------------
SCRIPT(1)         BSD General Commands Manual        SCRIPT(1)

NAME
   script - make typescript of terminal session

SYNOPSIS
   script [-a] [-f] [-q] [-t] [file]

DESCRIPTION
   Script makes a typescript of everything printed on your terminal. It is
   useful for students who need a hardcopy record of an interactive session
   as proof of an assignment, as the typescript file can be printed out
   later with lpr(1).--------------------------------------------------------------------------------

我所作的工作就是
1。在登陆时自动运行script 命令
2。同时纪录登陆时间
3。同时纪录登陆IP
4。压缩记录文件以节省空间

下面就是 具体的script

代码:--------------------------------------------------------------------------------
#!/bin/ksh
# 先创建保存纪录的目录,根据需要,可以放在指定的目录
if [ ! -d $HOME/login_history ];then
mkdir $HOME/login_history
fi
# 判断login的IP 或者hostname
FROM_HOST=`who am i|awk -F"(" '{print $2}'|awk -F")" '{print $1}'`
# 如果来自同一机器,就不重复记录了
HOSTNAME=`hostname`
if [ "$HOSTNAME" == "$FROM_HOST" -o "$FROM_HOST" == "" ] ; then
echo ' '
else
#定义文件名,里面包含登陆的时间 YYYYMMDD HH24MISS ,以及登陆的IP/hostname
SCRIPT_LOG=$HOME/login_history/`date +%y%m%d-%H%M%S-`$FROM_HOST.log
script $SCRIPT_LOG

#当用户退出该session时,自动压缩文件,并提示文件名,以供参考
echo compress you SCRIPT_LOGSCRIPT_LOG
compress $SCRIPT_LOG
sleep 3
exit
fi


...--------------------------------------------------------------------------------
保存script,并在需要纪录的用户的profile 的最后一行执行这个script 就可以了……

在我的实际工作中,管理十几台Oracle Database, 通常看数据库状态,查询数据库信息等的操作,可以通过客户端的GUI, 用只读账号进行连接。而只要有任何改动的动作,都会先telnet 到一台已经配置“自动保留操作纪录”的server 上,然后通过sqlplus 连接到相应的DB,或者再次telnet到相应的DB server上作操作,从而达到任何一个改动都有据可查的目的
阅读(205) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~