shell日誌顏色處理及清理系統日誌的方法

2022-09-26 14:33:13 字數 2414 閱讀 1505

記錄一下shell日誌顏色處理

_colors=$

__detect_color_support()

__detect_color_support

echoerror() * error$: %s\\n" "$@" 1>&2;

}echoinfo() * info$: %s\\n" "$@";

}echowarn() * warn$: %s\\n" "$@";

}下面看下shell清理系統日誌

1.設定日誌峰值,到達則刪除

2.定時檢測,crontab新增定時任務

3.後台掛載 : ./xx.sh &

工作指令碼:

#! /bin/sh

#日誌目錄及限定大小

workdir="/var/*.log"

maxsize=100

#搜尋最老檔案,不加目錄預設的本目錄裡邊的檔案 r倒序輸出 t時間 head -n1取第一行 awk命令括號$1位檔名 管道連線

oldfile()'`

}clear_old_log()'` #m表示兆 k b

if [ $logsize -gt $maxsize ]

then

str1="log"

str2="err"

if [[ $oldfile == *$str1* ]]

then

pkill snake

rm -rf $oldfile

fiif [[ $oldfile == *$str2* ]]

then

service mysql restart

pkill snake

rm -rf $oldfile

fielse

break

fidone

}testing()

testing

定時任務指令碼:

#! /bin/sh

#a=`pgrep -f test1.sh|wc -l`

#if [ $(ps -ef|grep test.sh|wc -l) -gt 1 ]

if test $(pgrep -f test.sh|wc -l) -ge 1

then

程式設計客棧exit

ficd /home/zxd/

./test.sh

下邊這個帶有日誌時間加時間戳及系統負載檢測:

#! /bin/bash

stra="long string"

strb="string"

result=$(echo $stra | grep "$")

if [[ "$result" != "" ]]

then

echo "包含"

else

echo "不包含"

fi#日誌目錄及限定大小

workdir="/var/*.log"

maxsize=100

#給檔案加時間戳:函式裡的變數必須在指令碼函式後邊跟著,這裡$1不是命令列跟的引數,命令列的引數為指令碼的$1

filetime()

filetime "/var/log"

#搜尋最老檔案,不加目錄預設程式設計客棧的本目錄裡邊的檔案 r倒序輸出 t時間 head -n1取第一行 awk命令括號$1位檔名程式設計客棧 管道連線

oldfile()'`

}clear_old_log()'`

if [ $logsize -gt $maxsize ]

then

str1="log"

str2="err"

if [[ $oldfile == *$str1* ]]

then

pkill snake

rm -rf $oldfile

fiif [[ $oldfile == *$str2* ]]

the程式設計客棧n

service mysql restart

pkill snake

rm -rf $oldfile

fielse

break

fidone

}testing()

disk=`df |grep /dev/mapper/fedora-root | awk '' | sed 's/%//g'`

echo "磁碟已用:%$disk"

memtotal=`cat /proc/meminfo |grep memtotal |awk ''`

memfree=`cat /proc/meminfo |grep memfree |awk ''`

used=$((100- memfree*100/memtotal))

echo "記憶體已用:%$used"

echo "exit"

testing

總結本文標題: shell日誌顏色處理及清理系統日誌的方法

本文位址:

定時清理日誌的shell指令碼

因為公司springcloud專案各個server的日誌堆積日益增多佔據伺服器記憶體,故提出了定時清理7天之外的日誌需求。場景 日誌目錄結構 logs server name date date 1.log 789 刪除子目錄下的過期log日誌 10removelogs 1415 year 16 m...

Linux使用Shell定時清理日誌檔案

根據程序名查詢proxypoolrmiimpl程序,找到關聯程序pid,終止這些程序。刪除該程序產生的日誌檔案。重啟服務 bin sh webproxy id ps ef grep proxypoolrmiimpl grep v grep awk echo webproxy id for id in...

Kafka日誌及Topic資料清理

在介紹手動刪除操作之前,先簡單的介紹一下kafka消費offset原理。一 kafka消費offset 在通過client端消費kafka中的訊息時,消費的訊息會同時在zookeeper和kafka log中儲存,如上圖紅線所示。當手動刪除kafka某一分片上的訊息日誌時,如上圖藍線所示,此是只是將...