get-history-cmd.sh

发布于 2023-10-09  41 次阅读


!/usr/bin/env bash

history

获取登录ip地址

USER_IP=who -u am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'

USER_IP=$(env |grep SSH_CLIENT | awk '{print $1}' | sed 's/SSH_CLIENT=//' | awk -F " " '{print $1}')

指定历史命令路径

HISTDIR=/usr/share/.history
if [ -z $USER_IP ]
then
USER_IP=hostname
fi
if [ ! -d $HISTDIR ]
then
mkdir -p $HISTDIR
chmod 777 $HISTDIR
fi
if [ ! -d $HISTDIR/${LOGNAME} ]
then
mkdir -p $HISTDIR/${LOGNAME}
chmod 300 $HISTDIR/${LOGNAME}
fi

设置历史命令条数

export HISTSIZE=4000

设置文件后缀

DT=date +%Y%m%d_%H%M%S
export HISTFILE="$HISTDIR/${LOGNAME}/${USER_IP}.history.$DT" #文件路径
export HISTTIMEFORMAT="[%Y.%m.%d %H:%M:%S] " #记录格式

设置权限

chmod 600 $HISTDIR/${LOGNAME}/.history 2>/dev/null
届ける言葉を今は育ててる
最后更新于 2023-12-12