天天看點

記錄history日志腳本

此腳本可以記錄不同的使用者登入操作linux系統的記錄

#!/bin/bash
USER_IP=`who -u  2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`
LOGNAME=`who -u  2>/dev/null | awk '{print $1}'`
HISTDIR=/usr/share/.history
NUM=`who -u  2>/dev/null | awk '{print $NF}'`
if [ "$USER_IP" == "$NUM" ];then
    USER_IP=`hostname`
fi
if [ ! -d $HISTDIR ];then
    mkdir -p $HISTDIR
    chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ];then
    mkdir -p $HISTDIR/${LOGNAME}
    chmod 300 $HISTDIR/${LOGNAME}
fi
export HISTSIZE=4000
DT=`date +%Y%m%d_%H%M%S`
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT"
export HISTTIMEFORMAT=" [%Y.%m.%d %H:%M:%S] "
chmod 600 $HISTDIR/${LOGNAME}/*.history* 2>/dev/null