Linux系統實現log日誌自動清理

背景簡介

在實際項目中由於服務器內存有限,人工制定的定時清理時常會忘記。因此啓用linux系統定時任務去執行日誌清理功能。引用文獻

1.創建shell腳本及執行權限

touch   clean.sh //創建腳本文件 

用vi 指令創建好後,需要在裏面加上如下內容

#!/bin/bash
logs_path="/****/logs"
find $logs_path -mtime +2-name "localhost.*.log" -exec rm -rf {} \;
find $logs_path -mtime +2 -name "localhost_access_log.*.txt" -exec rm -rf {} \;
find $logs_path -mtime +2 -name "catalina.*.log" -exec rm -rf {} \;
find $logs_path -mtime +2 -name "manager.*.log" -exec rm -rf {} \;
find $logs_path -mtime +2 -name "host-manager.*.log" -exec rm -rf {} \;
>$logs_path/catalina.out;

然後保存就好了
需要使用chmod 指令把權限換成 755 下面附上linux指令

chmod 755 clean.sh //修改執行權限

然後我們可以進入 你的tomcat 的logs目錄下,使用 下面指令查看下當前你目錄下log文件數量

然後我們直接執行剛纔寫好的shell腳本

./clean.sh

然後再次查看文件數量,發現已經清理掉了,說明shell腳本沒問題

2.腳本沒問題後就可以開始寫定時任務了

所以我們先通過下面指令設置定時任務

crontab -e

操作方式和vi編輯器一樣,每月1號凌晨2點執行,只保最近30天日誌

0 2 1 * * sh /home/linux/fingerlink/tomcat/apache-tomcat-7.0.75/logs/clean.sh

然後保存退出,然後
使用指令重啓crontab 服務,讓配置生效

service crond restart
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章