#!/bin/bash
hislog_dir="/tmp/hislog"
[ -d ${hislog_dir} ] || mkdir -p ${hislog_dir}
export HISTFILE="${hislog_dir}/$(date '+%F').his"
[ -x ${hislog_dir}/$(date '+%F').his ] || chmod 777 -R ${hislog_dir}/$(date '+%F').his
export HISTTIMEFORMAT='%F %T '
export PROMPT_COMMAND='user=$(who am i | sed "s/[ ][ ]*/ /g"); history 1 \
| { read x date time cmd; echo "${date} ${time} ${user} $(whoami) ${cmd}";} >> $HISTFILE'
chattr +a -R ${hislog_dir}
记录的命令格式如下,截取了一小段
[root@test ~]
2020-12-30 15:58:34 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos su - root
2020-12-30 16:04:26 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos ll
2020-12-30 16:04:26 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos ll
2020-12-30 16:04:26 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos ll
2020-12-30 16:04:36 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos more /tmp/hislogs/2020-12-30.his
2020-12-30 16:04:44 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos ls -ls
2020-12-30 16:04:45 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos more /tmp/hislogs/2020-12-30.his
2020-12-30 16:04:49 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos cd
2020-12-30 16:04:49 centos pts/1 2020-12-30 15:54 (12.21.13.24) centos cd
2020-12-30 16:05:09 centos pts/1 2020-12-30 15:54 (12.21.13.24) root ll
2020-12-30 16:05:15 centos pts/1 2020-12-30 15:54 (12.21.13.24) root vim /etc/profile.d/history.sh
2020-12-30 16:05:37 centos pts/1 2020-12-30 15:54 (12.21.13.24) root source /etc/profile
2020-12-30 16:05:38 centos pts/1 2020-12-30 15:54 (12.21.13.24) root ll
2020-12-30 16:05:41 centos pts/1 2020-12-30 15:54 (12.21.13.24) root ll /tmp/
2020-12-30 16:05:43 centos pts/1 2020-12-30 15:54 (12.21.13.24) root ll /tmp/hislogs/