因在使用
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
完成!!!
感謝您的觀看,期望我的文檔能對您有所幫助!