主頁(yè) > 知識(shí)庫(kù) > shell日志顏色處理及清理系統(tǒng)日志的方法

shell日志顏色處理及清理系統(tǒng)日志的方法

熱門標(biāo)簽:房產(chǎn)證地圖標(biāo)注的兩個(gè)面積 武漢語(yǔ)音電銷機(jī)器人加盟 輝縣市地圖標(biāo)注 湖北孝感如何辦理 北京電銷機(jī)器人對(duì)市場(chǎng)的影響 同花順電話機(jī)器人微信 地圖標(biāo)注x是啥意思 威海電銷外呼系統(tǒng)好用嗎 外呼系統(tǒng)的合法性

記錄一下shell日志顏色處理

_COLORS=${BS_COLORS:-$(tput colors 2>/dev/null || echo 0)}
__detect_color_support() {
  # shellcheck disable=SC2181
  if [ $? -eq 0 ]  [ "$_COLORS" -gt 2 ]; then
    RC='\033[1;31m'
    GC='\033[1;32m'
    BC='\033[1;34m'
    YC='\033[1;33m'
    EC='\033[0m'
  else
    RC=""
    GC=""
    BC=""
    YC=""
    EC=""
  fi
}
__detect_color_support
echoerror() {
  printf "${RC} * ERROR${EC}: %s\\n" "$@" 1>2;
}
echoinfo() {
  printf "${GC} * INFO${EC}: %s\\n" "$@";
}
echowarn() {
  printf "${YC} * WARN${EC}: %s\\n" "$@";
}

下面看下shell清理系統(tǒng)日志

1.設(shè)置日志峰值,到達(dá)則刪除
2.定時(shí)檢測(cè),crontab添加定時(shí)任務(wù)
3.后臺(tái)掛載 : ./xx.sh

工作腳本:

#! /bin/sh
#日志目錄及限定大小
workdir="/var/*.log"
maxsize=100
#搜索最老文件,不加目錄默認(rèn)的本目錄里邊的文件 r倒序輸出 t時(shí)間 head -n1取第一行 awk命令括號(hào)$1位文件名 管道連接
oldfile(){
 oldfile=`ls $workdir -t 2>/dev/null| head -n1 | awk '{printf $1}'`
}
clear_old_log(){
 if [ ! $oldfile ]
 then
  #echo "日志不存在" 1>/dev/null
  return 0
 fi
  while true;
 do
  oldfile
  if [ ! $oldfile ]
  then
    return 0
  fi
  logsize=`du -ms $oldfile 2>/dev/null| awk '{printf $1}'` #m表示兆 k b
  if [ $logsize -gt $maxsize ]
  then
  str1="log"
  str2="err"
  if [[ $oldfile == *$str1* ]] 
  then
  pkill snake
  rm -rf $oldfile
   fi
   if [[ $oldfile == *$str2* ]]
   then
  service mysql restart
  pkill snake
  rm -rf $oldfile
  fi
  else
  break
  fi
 done
}
testing(){
 
 while true;
 do
  workdir="/var/*.log"
  oldfile 
   clear_old_log
   workdir="/var/lib/mysql/*.err"
   oldfile
   clear_old_log
  done
}
testing
定時(shí)任務(wù)腳本:
#! /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
fi
cd /home/zxd/
./test.sh
下邊這個(gè)帶有日志時(shí)間加時(shí)間戳及系統(tǒng)負(fù)載檢測(cè):
#! /bin/bash
strA="long string"
strB="string"
result=$(echo $strA | grep "${strB}")
if [[ "$result" != "" ]]
then
  echo "包含"
else
  echo "不包含"
fi
#日志目錄及限定大小
workdir="/var/*.log"
maxsize=100
#給文件加時(shí)間戳:函數(shù)里的變量必須在腳本函數(shù)后邊跟著,這里$1不是命令行跟的參數(shù),命令行的參數(shù)為腳本的$1
filetime(){
 a=$(date +%Y%m%d%H%M%S)
 A=$1.$(date +%Y%m%d%H%M%S)
 echo $A
}
filetime "/var/log"
#搜索最老文件,不加目錄默認(rèn)的本目錄里邊的文件 r倒序輸出 t時(shí)間 head -n1取第一行 awk命令括號(hào)$1位文件名 管道連接
oldfile(){
 oldfile=`ls $workdir -rt 2>/dev/null| head -n1 | awk '{printf $1}'`
}
clear_old_log(){
 if [ ! $oldfile ]
 then
  echo "日志不存在" 1>/dev/null
  return 0
 fi
  while true;
 do
  oldfile
  if [ ! $oldfile ]
  then
  echo "日志不存在" 1>/dev/null
   return 0
  fi
  logsize=`du -bs $oldfile 2>/dev/null| awk '{printf $1}'`
  if [ $logsize -gt $maxsize ]
  then
  str1="log"
  str2="err"
  if [[ $oldfile == *$str1* ]] 
  then
  pkill snake
  rm -rf $oldfile
   fi
   if [[ $oldfile == *$str2* ]]
   then
  service mysql restart
  pkill snake
  rm -rf $oldfile
   fi
  else
  break
  fi
 done
}
testing(){
 echo "run"
 while true;
 do
  oldfile 
   clear_old_log
   echo "222"
   workdir="/var/lib/mysql/libmaster.err"
   oldfile
   clear_old_log
  done
}
disk=`df |grep /dev/mapper/fedora-root | awk '{printf $5}' | sed 's/%//g'`
echo "磁盤已用:%$disk"
memtotal=`cat /proc/meminfo |grep MemTotal |awk '{printf $2}'`
memfree=`cat /proc/meminfo |grep MemFree |awk '{printf $2}'`
used=$((100- memfree*100/memtotal))
echo "內(nèi)存已用:%$used"
echo "exit"
testing

總結(jié)

以上所述是小編給大家介紹的shell日志顏色處理方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • 利用shell命令統(tǒng)計(jì)日志的方法詳解
  • Linux shell腳本輸出日志筆記整理(必看篇)
  • shell腳本實(shí)現(xiàn)分日志級(jí)別輸出的方法
  • Shell腳本切割tomcat的日志文件
  • Linux下日志按日分割的shell
  • Powershell 查詢 Windows 日志的方法
  • Shell腳本定期清空大于1G的日志文件
  • 深入理解Shell輸出顏色與控制
  • 在shell或者perl中改變字體或背景的顏色
  • linux BASH shell下設(shè)置字體及背景顏色
  • shell腳本中echo顯示內(nèi)容帶顏色的實(shí)現(xiàn)方法
  • linux shell的輸出效果修改方法(界面顏色)

標(biāo)簽:武威 安康 蚌埠 迪慶 麗江 西寧 日喀則 紹興

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《shell日志顏色處理及清理系統(tǒng)日志的方法》,本文關(guān)鍵詞  shell,日志,顏色,處理,及,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《shell日志顏色處理及清理系統(tǒng)日志的方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于shell日志顏色處理及清理系統(tǒng)日志的方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章