[20211018]运维中关于history的问题.txt
--//这个是我前一段时间遇到的问题,开始没注意,仔细检查发现H3C的监控引起的问题。
--//一般我每次登录检查服务器我运行自己写的脚本,我一般打开头几个字符,按F8总能出现完整的命令。
--//最近总是不行,我开始以为我很久没有登录服务器的原因,连续几天发现不对。
--//注我修改了/etc/inputrc文件,加入:
# cat /etc/inputrc
...
"\e[18~": history-search-forward # F7
"\e[19~": history-search-backward # F8
#history
...
850 2021-09-01 18:03:31 =;export LANG; w -h; echo APMCmdErr=$?
851 2021-09-01 18:03:31 =;export LANG; /usr/bin/vmstat 1 2; echo APMCmdErr=$?
852 2021-09-01 18:03:32 =;export LANG; cat /proc/cpuinfo ; echo APMCmdErr=$?
853 2021-09-01 18:03:32 =;export LANG; mpstat -P ALL ; echo APMCmdErr=$?
854 2021-09-01 18:03:32 =;export LANG; /bin/df -P -k; echo APMCmdErr=$?
855 2021-09-01 18:03:32 =;export LANG; /bin/df -P -i; echo APMCmdErr=$?
856 2021-09-01 18:03:32 =;export LANG; /bin/cat /proc/net/dev; echo APMCmdErr=$?
857 2021-09-01 18:03:42 =;export LANG; /bin/cat /proc/net/dev; echo APMCmdErr=$?
858 2021-09-01 18:03:42 =;export LANG; /usr/bin/iostat -k 1 2; echo APMCmdErr=$?
859 2021-09-01 18:03:43 =;export LANG; /bin/cat /proc/meminfo; echo APMCmdErr=$?
860 2021-09-01 18:03:43 = date +%Y; date +%s -d "2021-09-01 18:03:08"; date +%s -d "2021-09-01 17:16:28"
861 2021-09-01 18:03:44 =;export LANG;awk 'BEGIN{S=1630490288;E=1630490587;"wc -l /var/log/messages"|getline LINES;LINES=LINES-1000;print 2021} FNR>=LINES&&U($1,$2,$3)>S&&U($1,$2,$3)<=E{print} function U(m,d,t){L=sprintf("date +%%s -d\"%s %s %s\"",m,d,t);L|getline s;close(L);return s}' /var/log/messages;echo APMCmdErr=$?
862 2021-09-01 18:03:44 =;export LANG; ps -eo %cpu -o %mem -o pid -o ppid -o time -o comm; echo APMCmdErr=$?
863 2021-09-01 18:03:44 =;export LANG; uptime; echo APMCmdErr=$?
864 2021-09-01 18:03:44 = date "+%Y-%m-%d %H:%M:%S";uptime;echo APMCmdErr=$?
865 2021-09-01 18:03:44 =;export LANG; /usr/bin/lsb_release -d; echo APMCmdErr=$?
866 2021-09-01 18:03:44 =;export LANG; vgdisplay -c 2>/dev/null; echo APMCmdErr=$?
867 2021-09-01 18:03:44 =;export LANG; ps -eo stat -o %cpu -o %mem -o pid -o ppid -o time -o comm; echo APMCmdErr=$?
...
987 2021-09-26 10:35:39 = echo PreFix20210926103526;echo PreFix20210926103526;LANG=C;export LANG;if [ -f /etc/redhat-release ]; then echo 1111;cat /etc/redhat-release; else echo 2222;/usr/bin/lsb_release -d; fi;echo APMCmdErr=$?
988 2021-09-26 10:35:51 = echo PreFix20210926103538;echo PreFix20210926103538;LANG=C;export LANG; vgdisplay -c 2>/dev/null; echo APMCmdErr=$?
989 2021-09-26 10:36:13 = echo PreFix20210926103600;echo PreFix20210926103600;LANG=C;export LANG; ps -eo stat -o %cpu -o %mem -o pid -o ppid -o time -o comm; echo APMCmdErr=$?
--//也就是有人巡检,我估计这些是在监控界面发出的命令在服务端执行的。导致我以前输入的命令被清除出去。
# echo $HISTCMD $HISTFILE $HISTFILESIZE $HISTSIZE | tr " " "\n"
992
/root/.bash_history
1000
1000
--//实际上原来等保设置更小仅仅10,极度影响我的工作效率与心情。
--//当然解决方法很简单,安装tmux,启动tmux启动后不退出。这样自己的history记录信息不会清空。
--//还可以使用一种方法解决这个问题,就是利用TMUX环境变量。在.bashrc加入如下代码。
if [[ '' != "$TMUX" ]]
then
export HISTFILE=/root/.bash_history_tmux
$ export HISTFILESIZE=2000
# export HISTSIZE=2001
# export HISTTIMEFORMAT='%F %T = '
fi
--//这样两个系统使用不同HISTFILE。
# echo $HISTCMD $HISTFILE $HISTFILESIZE $HISTSIZE | tr " " "\n"
3
/root/.bash_history_tmux
1000
1000
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-2838003/ ,如需转载,请注明出处,否则将追究法律责任。