背景
今天登入伺服器看了一下 ~
即 /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
複製程式碼