因在使用
history
命令是发现历史命令不同步,没有时间戳,在查看历史操作的时候很不方便,特查询了相关文档,发现可通过系统自带的logger
来记录跟踪,历史命令执行的用户,时间,登录IP。
vim /etc/rsyslog.conf
# 加入以下配置
local3.* /var/log/demo.log
#保存退出
# 重启服务
systemctl restart rsyslog
vim /etc/profile
# 末尾添加一下配置
export PROMPT_COMMAND="history 1 | logger -t cmd_log -p local3.notice"
#保存退出
vim ~/.bashrc
# 末尾添加配置
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S `whoami`@${USER_IP}: "
export HISTFILESIZE=1000000
export PROMPT_COMMAND="history -a; history -r; $PROMPT_COMMAND"
shopt -s histappend
bind '"e[A": history-search-backward'
bind '"e[B": history-search-forward'
#保存退出
# 重新加载配置
source /etc/profile
测试
随意输入几个命令,查看日志文件。
cat /var/demo.log
完成!!!
感谢您的观看,期望我的文档能对您有所帮助!