Linux下刪除日誌檔案

2022-05-29 10:12:13 字數 2461 閱讀 5081

日誌檔名如:2020-11-11.log  2020-11-20.log

1.刪除比當前時間小的日誌檔案

------------------------------成功的指令碼。目的:是刪除比當前時間小的日誌檔案----------------------------執行指令碼的方式: 

sh auto-del-log.sh

[doudou@centosaly workspace]$

cat -b auto-del-log.sh

#!/bin/sh

cd /home/doudou/workspace/logs_bak

path=`pwd

`

echo

$path

echo

"we are now at: $path

"t1=`date +%y-%m-%d`

t11=`date -d "

$t1" +%s`

echo

$t11

files=$(ls

$path)

forfile

in$files

doecho $file

array=($)

echo $

t2=`date -d "

$" +%s`

echo

$t2

if [ "

$t11

" -gt "

$t2" ];then

rm -rf $file

echo

"刪除成功!!!"fi

done

2.通過傳參的方式,刪除指定日期以前的日誌

----------------------通過傳參-$1的方式,刪除指定時間之前的日誌----------------------------執行指令碼的方式: 

sh auto-del-parameter-log.sh

2020-10-01

(自定義就行)

[doudou@centosaly workspace]$

cat -b auto-del-parameter-log.sh

#!/bin/sh

cd /home/doudou/workspace/logs_bak

path=`pwd

`

echo

$path

echo

"we are now at: $path

"t11=`date -d "

$1" +%s`

echo

$t11

files=$(ls

$path)

forfile

in$files

doecho $file

array=($)

echo $

t2=`date -d "

$" +%s`

echo

$t2

if [ "

$t11

" -gt "

$t2" ];then

rm -rf $file

echo

"刪除成功!!!"fi

done

3.常規的刪除日誌的指令碼 刪除30天之前的日誌

--------------------常規的解決辦法--------------------------------

find /home/doudou/workspace/logs/ -mtime +30 -name "

*.log

" -exec rm -rf {} \;

踩過的坑:

1.    if [   "$t11"    -gt  "$t2"  ];then

2個比較的變數 前後都必須有空格,不然會報語法錯誤

2.date 日期比較 實際是根據時間戳比較的

3.分割:加深理解下!!!

array=($)

echo $

$ 用string來替換parameter變數中所有匹配的pattern

-eq 等於,如:if ["$a" -eq "$b" ]

-ne 不等於,如:if ["$a" -ne "$b" ]

-gt 大於,如:if ["$a" -gt "$b" ]

-ge 大於等於,如:if ["$a" -ge "$b" ]

-lt 小於,如:if ["$a" -lt "$b" ]

-le 小於等於,如:if ["$a" -le "$b" ]

5.   :set nu

在vi的命令模式下輸入「:set nu」,然後回車,就可以看到**左側 出現行號

Linux 下刪除日誌檔案

linux是乙個很能自動產生檔案的系統,日誌 郵件 備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些檔案浪費,讓系統定時清理一些不需要的檔案很有一種爽快的事情。不用你去每天惦記著是否需要清理日誌,不用每天收到硬碟空間不足的報警簡訊,想好好休息的話,讓我們把這個事情交給機器定時 去執行吧。1.刪...

Linux定時刪除日誌檔案

刪除建立時間大於30天的檔案命令 find 目錄 mtime 建立時間 name 檔名 exec rm rf 建立shell檔案 auto del 30 days ago log.sh 指令碼內容 bin sh find opt soft log mtime 30 name log exec rm ...

Linux環境下刪除歸檔日誌

我們都都知道在controlfile中記錄著每乙個archivelog的相關資訊,當然們在os下把這些物理檔案delete掉後,在我們的 controlfile中仍然記錄著這些archivelog的資訊,在oracle的oem管理器中有視覺化的日誌展現出,當我們手工清除archive目錄下的檔案後,...