linux的history命令行记录到文件中

编写一个文件,让他把Linux服务器上的history历史命令加上时间并且将历史命令记录到文件中。该脚本文件中定义默认历史命令存放的文件为:/var/log/.history,存放的目录和文件可自行更改。

vim hist_time.sh
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S] "
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
HISTDIR=/var/log/.history
if [[ -z $USER_IP ]]; then
 USER_IP=`hostname`
fi
if [[ ! -d $HISTDIR ]]; then
 mkdir -p $HISTDIR
 chmod 777 $HISTDIR
fi
export HISTSIZE=4096
DT=`date +%Y%m%d`
export HISTFILE="$HISTDIR/${LOGNAME}.${USER_IP}.hist.$DT"
chmod 000 $HISTDIR/*.hist* 2>/dev/null

然后将该文件放到/etc/profile.d/目录下,执行source /etc/profile即可。

执行history,发现格式已经改变成如下形式:

  1  [2018.08.02 15:13:45] ll
  2  [2018.08.02 15:13:47] pwd
  3  [2018.08.02 15:14:14] cd /etc/profile.d/
  4  [2018.08.02 15:14:14] ll
  5  [2018.08.02 15:14:19] pwd

版权声明:
作者:allenjol
链接:https://www.ayunw.cn/archives/203
来源:爱生活,爱运维
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>