linux centos7清除系统日志、历史记录、登录信息
平時不管是web還是系統產生的日志都可能導致洗盤爆滿,所以我在這里分享一些基本常用清理linux日志的方法。
# echo > /var/log/wtmp //清除用戶登錄記錄 # echo > /var/log/btmp //清除嘗試登錄記錄 # echo>/var/log/lastlog //清除最近登錄信息 # echo > /var/log/secure //登錄信息 # echo > /var/log/messages # echo>/var/log/syslog //記錄系統日志的服務 # echo>/var/log/xferlog # echo>/var/log/auth.log # echo>/var/log/user.log # cat /dev/null > /var/adm/sylog # cat /dev/null > /var/log/maillog # cat /dev/null > /var/log/openwebmail.log # cat /dev/null > /var/log/mail.info # echo>/var/run/utmp清除操作過的命令記錄
# echo > .bash_history //清除保存的用戶操作歷史記錄 # history -cw //清除所有歷史Linux查看History記錄加時間戳小技巧 熟悉bash的都一定知道使用history可以輸出你曾經輸入過的歷史命令,例如[root@servyou_web ~]# history | more
./test.sh
vim test.sh
./test.sh
但是這里只顯示了命令,并沒有顯示執行命令的時間,因為保存歷史命令的~/.bash_history里并沒有保存時間。
通過設置環境變量 export HISTTIMEFORMAT="%F %T?whoami?" 給history加上時間戳
[root@servyou_web ~]# export HISTTIMEFORMAT="%F %T?whoami?"
[root@servyou_web ~]# history | tail
2011-06-22 19:17:29 root 15 2011-06-22 19:13:02 root ./test.sh
2011-06-22 19:17:29 root 16 2011-06-22 19:13:02 root vim test.sh
2011-06-22 19:17:29 root 17 2011-06-22 19:13:02 root ./test.sh
2011-06-22 19:17:29 root 18 2011-06-22 19:13:02 root vim test.sh
2011-06-22 19:17:29 root 19 2011-06-22 19:13:02 root ./test.sh
2011-06-22 19:17:29 root 20 2011-06-22 19:13:02 root vim test.sh
2011-06-22 19:17:29 root 21 2011-06-22 19:13:02 root ./test.sh
2011-06-22 19:17:29 root 22 2011-06-22 19:13:02 root vim test.sh
2011-06-22 19:25:22 root 22 2011-06-22 19:13:02 root vim test.sh
2011-06-22 19:25:28 root history | tail
可以看到,歷史命令的時間戳已經加上了,但是.bash_history里并沒有加上這個時間戳。其實這個時間記錄是保存在當前shell進程內存里的,如果你logout并且重新登錄的話會發現你上次登錄時執行的那些命令的時間戳都為同一個值,即當時logout時的時間。
盡管如此,對于加上screen的bash來說,這個時間戳仍然可以長時間有效的,畢竟只要你的server不重啟,screen就不會退出,因而這些時間就能長時間保留。你也可以使用echo 'export HISTTIMEFORMAT="%F %T?whoami?"' >> /etc/profile 然后source一下就OK
例二: vi /root/.bash_history
例三:
1、修改/etc/profile將HISTSIZE=1000改成0或1
清除用戶home路徑下。bash_history
2、立即清空里的history當前歷史命令的記錄
history -c
3、bash執行命令時不是馬上把命令名稱寫入history文件的,而是存放在內部的buffer中,等bash退出時會一并寫入。
不過,可以調用'history -w'命令要求bash立即更新history文件。
history -w
?
centos下定時清理系統各種日志腳本
進入root用戶
su - root
創建腳本文件
vim?cleanLog.sh
增加執行權限
chmod +x?cleanLog.sh
按需添加或修改如下內容:
#!/bin/bash
echo “開始清除日志文件”
sed -i ‘1,50d’ /var/log/cron #清除定時任務記錄
sed -i ‘1,50d’ /var/log/xferlog #清除ftp記錄
sed -i ‘1,50’ /var/log/mariadb/mariadb.log #清除數據庫日志
sed -i ‘1,50d’ /var/log/secure #清除sshd信息
sed -i ‘1,50d’ /var/log/firewalld
sed -i ‘1,50d’ /var/log/httpd/access_log
sed -i ‘1,50d’ /var/log/httpd/ssl_access_log
sed -i ‘1,50d’ /var/log/httpd/ssl_error_log
sed -i ‘1,50d’ /var/log/httpd/ssl_request_log
sed -i ‘1,50d’ /var/log/messages #清除系統開機發生的錯誤
sed -i ‘1,50d’ /var/log/tuned/tuned.log
sed -i ‘1,50d’ /var/log/hawkey.log
sed -i ‘1,50d’ /var/log/yum.log
sed -i ‘1,50d’ /var/log/dnf.log
sed -i ‘1,50d’ /var/log/dnf.rpm.log
sed -i ‘1,50d’ /var/log/ntp.log
sed -i ‘1,50d’ /var/log/audit/audit.log
history -c #清除歷史執行命令
echo > /var/log/wtmp #清除系統登錄成功的記錄
echo > /var/log/btmp #清除系統登錄失敗的記錄
echo > /var/log/lastlog
rm -fr /var/log/boot.log-* /var/log/btmp-* /var/log/cron-* /var/log/maillog-* /var/log/messages-* /var/log/secure-* /var/log/spooler-* /var/log/xferlog-* /var/log/messages-* /var/log/multi-nic-util/*
rm -fr /var/log/httpd/access_log-* /var/log/httpd/error_log-* /var/log/httpd/ssl_access_log-* /var/log/httpd/ssl_error_log-* /var/log/httpd/ssl_request_log-*
注解:sed命令,清除前50行內容
echo命令清空日志內容
rm命令刪除后綴以日期命名的日志文件
注意:以上日志清理并沒有導致系統或者其他服務出錯,但是部分日志文件最好不要刪除,最好百度一下那個日志文件是用來干嘛的
設置定時任務:
crontab -e
設置每20天清理一次(日志清理太頻繁不方便以后按日志排錯)
0 0 */20 * * ./cleanLog.sh
保存退出
?
CentOS系統清空刪除系統日志的方法
使用CentOS系統的時候,經常會遇到系統日志文件非常大的情況,如果直接刪除,會導致日志錯誤,不再生成日志,這時,我們可以使用下面的方法清空日志。
CentOS 6系統
cat?/dev/null?>?/var/log/boot.log cat?/dev/null?>?/var/log/btmp cat?/dev/null?>?/var/log/cron cat?/dev/null?>?/var/log/dmesg cat?/dev/null?>?/var/log/dracut.log cat?/dev/null?>?/var/log/lastlog cat?/dev/null?>?/var/log/maillog cat?/dev/null?>?/var/log/messages cat?/dev/null?>?/var/log/secure cat?/dev/null?>?/var/log/spooler cat?/dev/null?>?/var/log/tallylog cat?/dev/null?>?/var/log/wtmp cat?/dev/null?>?/var/log/yum.logCentOS 7系統
cat?/dev/null?>?/var/log/boot.log cat?/dev/null?>?/var/log/btmp cat?/dev/null?>?/var/log/cron cat?/dev/null?>?/var/log/dmesg cat?/dev/null?>?/var/log/firewalld cat?/dev/null?>?/var/log/grubby cat?/dev/null?>?/var/log/lastlog cat?/dev/null?>?/var/log/mail.info cat?/dev/null?>?/var/log/maillog cat?/dev/null?>?/var/log/messages cat?/dev/null?>?/var/log/secure cat?/dev/null?>?/var/log/spooler cat?/dev/null?>?/var/log/syslog cat?/dev/null?>?/var/log/tallylog cat?/dev/null?>?/var/log/wpa_supplicant.log cat?/dev/null?>?/var/log/wtmp cat?/dev/null?>?/var/log/yum.log?
總結
以上是生活随笔為你收集整理的linux centos7清除系统日志、历史记录、登录信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS下搭建Squid代理服务器
- 下一篇: 使用宝塔面板安装Rocket.Chat多