将用户history全都输出到新的文件里。
原本的每个用户家目录下的.bash_history的文件能容纳的命令条目有限,所以想将用户使用命令记录在新的文件内,并按用户名和日期来加以分类。
在网上找了一段代码如下:
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
HISTDIR=/usr/share/.history
if [ -z $USER_IP ]
then
USER_IP=`hostname`
fi
if [ ! -d $HISTDIR ]
then
mkdir -p $HISTDIR
chmod 700 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ]
then
mkdir -p $HISTDIR/${LOGNAME}
chmod 700 $HISTDIR/${LOGNAME}
fi
export HISTSIZE=4000
DT=`date +%Y%m%d`
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S]"
chmod 700 $HISTDIR/${LOGNAME}/*.history* 2>/dev/null
是想每个操作的用户都有个目录,目录下按日期分别记录历史操作记录。
source /etc/profile之后没有问题。
比如是root用户,但是目录/usr/share/.history/root下没有如预期HISTFILE设置好的文件。
求大神帮忙看看是什么问题。