乙個測試機上部署多個應用,總是經常出現磁碟空間已滿,不能部署應用的情況,所以寫了個小指令碼,用於定時清理日誌,避免出現這種情況。(4)若定時任務沒有執行,輸入命令 service crond status,確保crond狀態為 is running1、如果是清理固定路徑下的檔案,可以直接用命令方式。
命令方式
(1)編寫命令:
find /*/logs -name 'catalina.out*.log' -and -mtime +7
測試方法:把路徑中的*變為具體的路徑,在linux命令視窗中執行,除錯結果(-mtime +7為刪除最後修改時間在7天以前的檔案,可自己配置)
(2)在linux上配置定時任務:
說明:因為我們使用的是系統的crontab檔案,系統的crontab檔案路徑為:/etc/crontab
編輯crontab檔案:(3)檢驗定時任務是否執行:
命令: tail /var/spool/mail/root
2、但是有時候需要同時清理多個路徑下的指定檔案,這時,我們最好就寫個shell指令碼了,下面是shell指令碼的實現方式shell指令碼方式:
(1)vi /*/deletelog.sh(指令碼路徑可變,保證在path變數中就可以)
指令碼:#!/bin/bash
workdir=("/export/domains" "/home/admin")#可填寫多個路徑for wdir in $
do命令:chmod 700 /*/logs/deletelog.shecho filepath is $wdir
if [ $wdir = $ ] ;then
filestr=`find $wdir/*/logs -type d`
echo files is $filestr
else
filestr=`find $wdir -type d`
echo filee is $filestr
fifor dir in $filestr
doecho file name is $dir
find $dir -name '*log*' -and -mtime +7 -type f | xargs rm
if [ $? -eq 0 ];then
echo $date delete $dir success!
else
echo $date delete $dir faild!
fidone
done
(2)賦給deletelog.sh 檔案執行許可權
(3)編輯crontab檔案:
定時清理檔案shell指令碼
乙個測試機上部署多個應用,總是經常出現磁碟空間已滿,不能部署應用的情況,所以寫了個小指令碼,用於定時清理日誌,避免出現這種情況。1 如果是清理固定路徑下的檔案,可以直接用命令方式。命令方式 1 編寫命令 find logs name catalina.out log and mtime 7 測試方法...
定時清理日誌的shell指令碼
因為公司springcloud專案各個server的日誌堆積日益增多佔據伺服器記憶體,故提出了定時清理7天之外的日誌需求。場景 日誌目錄結構 logs server name date date 1.log 789 刪除子目錄下的過期log日誌 10removelogs 1415 year 16 m...
定時清理日誌檔案的指令碼
usr bin python coding utf 8 import os import os.path,time,datetime logdir opt 日誌檔案所在的路徑 for parent,dirname,filenames in os.walk ogdir for filename in ...