前言
记录shell命令行执行的所有命令,以备后续查询。
创建记录文件存放路径
sudo mkdir /var/history
#给目录/var/history赋予所有人的写权限 ——>-
sudo chmod a+w $HISTDIR
# 给目录/var/history赋予特殊属性——>
sudo chattr +a /var/history
向shell配置文件中添加配置,一般添加在/etc/目录下的shell相关配置中
配置如下
USER_IP=`who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`
HISTDIR=/var/history
if [ -z $USER_IP ]
#如果string为空
then
USER_IP=`hostname`
fi
if [ ! -d $HISTDIR ]
#如果目录为空
then
mkdir -p $HISTDIR
#给目录/var/history赋予所有人的写权限 ——>-
chmod a+w $HISTDIR
# 给目录/var/history赋予特殊属性——>
chattr +a /var/history
fi
readonly DT=$(date +%F)
readonly HISTFILE=$HISTDIR/$USER-$UID-$DT.log #设置保存命令历史记录的路径及文件名称
readonly HISTSIZE=null
readonly HISTFILESIZE=500000
readonly HISTTIMEFORMAT="%F %T `who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'` `whoami ` "
shopt -s histappend #一个用户可以>同时打开多个终端
readonly PROMPT_COMMAND="history -a" #实时追加当前历史命令到history文件
if [ "$HISTCONTROL" = "ignorespace" ] ; then
export HISTCONTROL=ignoreboth
else
export HISTCONTROL=ignoredups
fi
export HISTSIZE HISTCONTROL
一个完善晋级版本
将下面的文件写入 /etc/bashrc
HISTDIR=/var/history
if [ ! -d $HISTDIR ]
#如果目录为空
then
mkdir -p $HISTDIR
#给目录/var/history赋予所有人的写权限 ——>-
chmod a+w $HISTDIR
# 给目录/var/history赋予特殊属性——>
chattr +a $HISTDIR
fi
readonly DT=$(date +%F)
readonly HISTORY_FILE=$HISTDIR/$USER-$UID-$DT.log #设置保存命令历史记录的路径及文件名称
readonly PROMPT_COMMAND='{ date "+%Y-%m-%d %T ##### $(who am i 2>/dev/null |awk "{print \$1\" \"\$2\" \"\$5}"| sed -e "s/[()]//g") #### $(history 1 | { read x cmd; echo "$cmd"; })"; } >> $HISTORY_FILE'
版权声明:除特别注明外,本站所有文章均为王晨曦个人站点原创
转载请注明:出处来自王晨曦个人站点 » Linux命令记录配置
出发地 arldgofrrs [url=http://www.g52w8byhz28a66s1f39tn4890r29qdjqs.org/]urldgofrrs[/url] rldgofrrs http://www.g52w8byhz28a66s1f39tn4890r29qdjqs.org/