sed的簡單應用-定時修改服務器日誌級別

       最近遇到了一個問題,雖然服務器每天會定時清理日誌,但是第二天凌晨,開始,服務仍然有大量的讀寫操作,平時爲了排查問題的方便日誌級別是DEBUG級別,產生的日誌多到足以佔滿磁盤空間,這樣會導致服務異常。所以希望每天上班時日誌級別調整爲debug,下班時間日誌級別調整爲warn,這樣,配合日誌清理,應該能保證服務正常運行。

       實現起來,只需要定時修改日誌的配置文件即可,日誌配置文件中log4j.rootLogger=DEBUG,hoursize標識當前日誌級別爲DEBUG,所以修改只需按照需要將DEBUG和WARN進行替換即可。SED命令即可實現該功能,下面的腳本就是實現將WARN替換爲DEBUG的功能,反之將將WARN和DEBUG交換位置即可。

#!/bin/bash
cd /opt/app/jcf/adapterServer/etc
sed -i 's/WARN/DEBUG/g' logging.properties
       sed的基本語法爲:

sed 's/原字符串/替換字符串/'
       單引號裏面,s表示替換,三根斜線中間是替換的樣式,特殊字符需要使用反斜線”\”進行轉義。

       特殊情況,單引號沒有辦法通過反斜線“\”進行轉義的,這時將單引號換成雙引號即可:

sed "s/原字符串包含'/替換字符串包含'/" 
      這裏用到的是,替換文件中的匹配項,使用-i的時候纔會在文件中修改,其他情況只是打印到屏幕上,並沒有進行實質的修改。

# 替換文件中的所有匹配項
sed -i 's/原字符串/替換字符串/g' filename
     關於sed的具體用法,可以參考這篇博文,上面介紹的非常清楚點擊打開鏈接



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章