Windows和Linux下刪除某天前日志文件的腳本

無論是在windows下還是linux下,很多的日志文件如果不定時(shí)刪除會(huì)充滿硬盤,所以可以分別寫個(gè)腳本定時(shí)處理一下,下面我來給大家介紹Linux與Windows中定時(shí)刪除某天前日志文件腳本,但是做定時(shí)任務(wù)執(zhí)行這個(gè)腳本,亮總系統(tǒng)中都很簡單,自己百度即可找到。

一、Windows下bat文件內(nèi)容如下;

1、代碼如下:

@echo off
forfiles -p "D:\servers\apache2.2\logs" -s -m *.log -d -15 -c "cmd /c del @path"
forfiles -p "D:\servers\mysql\logs" -s -m *.log -d -15 -c "cmd /c del @path"

可以將上面的目錄換成你想刪除的指定的目錄
*.log可以篩選一下文件格式
-d后面的參數(shù)為負(fù)數(shù)表示多少天之前的,正數(shù)是多少天之后的
最后保存成bat文件,然后在Windows計(jì)劃任務(wù)里面設(shè)置每天執(zhí)行的時(shí)間就可以了。

二、Linux下面的shell文件內(nèi)容如下:

1、代碼如下:

#!/bin/bash
# 刪除30天之前的r日志文件
find /varlog/nginx/ -mtime +30 -type f -name \*.log | xargs rm -f

同樣的將上面的目錄換成自己指定的目錄,后面的*.log表示文件擴(kuò)展名,
-mtime后面的參數(shù)與上面Windows的相反,正數(shù)表示多少天之前的文件。

2、代碼如下:

#!/bin/bash
# 刪除30天之前的r日志文件
find /var/log/nginx/ -mtime +30 -name "*log*" -exec rm -f {} \;

說明:
將/opt/soft/log/目錄下所有30天前帶".log"的文件刪除。具體參數(shù)說明如下:
find:linux的查找命令,用戶查找指定條件的文件;
/opt/soft/log/:想要進(jìn)行清理的任意目錄;
-mtime:標(biāo)準(zhǔn)語句寫法;
+30:查找30天前的文件,這里用數(shù)字代表天數(shù);
".log":希望查找的數(shù)據(jù)類型,".jpg"表示查找擴(kuò)展名為jpg的所有文件,"*"表示查找所有文件,這個(gè)可以靈活運(yùn)用,舉一反三;
-exec:固定寫法;
rm -rf:強(qiáng)制刪除文件,包括目錄;
{} ; :固定寫法,一對(duì)大括號(hào)+空格++;

3、保存指定后綴,添加權(quán)限,設(shè)置定時(shí)任務(wù)

將上面的內(nèi)容保存成.sh,兩個(gè)效果都是一樣,任選其一,并使用chmod +x 添加可執(zhí)行權(quán)限,然后放到crond定時(shí)任務(wù)中去執(zhí)行即可。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容