背景
今天登录服务器看了一下 ~
即 /root
目录下的隐藏文件
ls -la ~
ls -a .~_history
复制代码
发现里面有很多的*_history的文件,如:
.bash_history .mysql_history .node_repl_history .python_history .rediscli_history
复制代码
于是乎打开看了一下
cat .bash_history
复制代码
危害
发现里面全是我以前操作过的命令,有bash的,mysql的(里面全是sql语句),.rediscli_history
里面也是一样的,可见这些东西很容易暴露出我们的操作,虽然这些数据做了脱敏处理,但是同样也会危及到我们的系统安全
如何定时清理
于是我写一个定时任务来清理这个,利用crontab的特性,可以定时执行脚本
bash脚本
#!/usr/bin/env bash
for item in `ls ~/.*_history`; do
:> ${item};
done
echo 'done!'
复制代码
crontab命令
每天凌晨执行一次,清空当前的cli操作历史
0 0 * * * root /mnt/tools/clean_history.sh >> /dev/null 2>&1
复制代码