Linux 通過crontab 分割tomcat日誌
tomcat的catalina日誌果斷時間就會超大,無法進行查看,網上有很多種日誌分割方法。本文主要研究通過linux的crontab定時任務分割tomcat日誌的步驟: 首先準備sh執行指令碼
以下指令碼為分割log_path下的catalina.out日誌,將該日誌挪移到log_path/cron目錄下並重新命名為catalina.out.當前日期.log
#!/bin/sh#需要進行分割log的路徑,該指令碼一般只修改這個路徑就可以用log_path=/home/webapp/apache-tomcat-7.0.61/logs#擷取當前日期d='date +%Y-%m-%d'#擷取30天前的日期d90='date -d'30 day ago' +%Y-%m-%d'#cd到log_path路徑下 並copy 記錄檔到cron目錄下cd ${log_path} && cp catalina.out $log_path/cron/catalina.out.$d.log#清空原記錄檔echo > catalina.out#移除30天前的記錄檔rm -rf $log_path/cron/catalina.out.${d90}.log
crontab定時任務
將指令檔儲存為.sh尾碼的檔案,放到linux伺服器上。可以先sh運行一下看是否報錯,如果報檔案找不到等錯誤,首先檢查下路徑是否是對的,如果路徑沒有問題,則需要檢查sh檔案格式,通過以下步驟檢查並設定指令檔格式。 vi命令 開啟sh指令碼 運行set ff查看檔案格式是否為unix 如果檔案格式不是unix,則運行 set ff=unix :wq儲存並退出
重新運行sh指令檔無問題,則配置crontab定時任務,定時直接指令檔。 crontab -e 開啟crontab編輯; 編輯crontab每天晚上11點55分執行分割指令碼
55 11 * * * sh 指令碼目錄/**.sh :wq儲存並退出。 crontab定時任務配置完成。 可以通過crontab -l 檢查是否設定成功
OK,至此可以第二天看下是否日誌被自動切割完成。