背景簡介
在實際項目中由於服務器內存有限,人工制定的定時清理時常會忘記。因此啓用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