让命令历史永久保存并加时间戳

回复 收藏
#!/bin/sh
grep HISTTIMEFORMAT /etc/bashrc || echo 'export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S "' >>/etc/bashrc
for U in `grep -v shutdown /etc/passwd|awk -F: '$NF~/sh/&&$NF!~/no/{print $1}'`
do
    UHOME=`cat /etc/passwd|grep "^$U"|cut -d: -f6`
    [ ! -f $UHOME/.bash_history ] && touch $UHOME/.bash_history
    chattr +a $UHOME/.bash_history
done
2010-07-07 11:18 举报
已邀请:
0

奋斗的种子

赞同来自:

正则没有学习完,看不懂
0

lyhabc

赞同来自:

干嘛要 chattr +a $UHOME/.bash_history呢?
我看到我的系统是没有任何特殊权限的喔
lsattr .bash_history
--------------- .bash_history
0

88888888

赞同来自:

看不懂
0

zmh0415

赞同来自:

学习了
0

88888888

赞同来自:

什么时候才能看懂
0

ChrisLinux

赞同来自:

lyhabc 发表于 2016-3-13 09:42
干嘛要 chattr +a $UHOME/.bash_history呢?
我看到我的系统是没有任何特殊权限的喔
lsattr .bash_histor ...

系统自带当然没有,+a 是为了不让删只让增加。要不超过数量就会被挤掉
0

大苏湖

赞同来自:

这部分内容放在那个目录下都可以吗,放在/etc/profile.d

目录下并创建一个目录,source 后怎么没用?

哦,有用了,需要重启。

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: