天天看點

Centos7定時清理系統各種日志腳本

注意:linux的系統日志存放目錄 /var/log/

進入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      

儲存退出

原文連結:https://www.idaobin.com/archives/335.html