作者 主題: 刪除LOG檔又不想影響LOG寫入問題  (閱讀 2646 次)

0 會員 與 1 訪客 正在閱讀本文。

abc123333

  • 可愛的小學生
  • *
  • 文章數: 19
    • 檢視個人資料
刪除LOG檔又不想影響LOG寫入問題
« 於: 2015-08-19 12:55 »
請問一個持續在寫入LOG的LOG FILE
因檔案過大想搬移讓他重新長 又不想停掉服務在砍掉的話

有沒有指令可以做到不影響寫LOG又可以將檔案容量歸零的方法

目前知道的做法都遇到當搬走或讓他歸零就都不會寫LOG了 只能下上服務後恢復

twu2

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 5415
  • 性別: 男
    • 檢視個人資料
    • http://blog.teatime.com.tw/1
Re: 刪除LOG檔又不想影響LOG寫入問題
« 回覆 #1 於: 2015-08-19 13:36 »
一般是送 HUP signal 給程式做 reload.
不過... 這是要程式本身支援才可以.

netman

  • 管理員
  • 俺是博士!
  • *****
  • 文章數: 17484
    • 檢視個人資料
    • http://www.study-area.org
Re: 刪除LOG檔又不想影響LOG寫入問題
« 回覆 #2 於: 2015-08-19 14:54 »
我之前碰過的經驗是:

如果用 mv 將 log 改名然後再 touch 原有的 log之後,新的資料還是繼續寫入改名後的那個 file ...
也就是:
mv log log.old
touch log
資料繼續寫到 log.old那邊去,似乎是認 inode 的樣子?(不確定)

直到 restart/reload 服務才重新寫到新建的 log ...

asako

  • 活潑的大學生
  • ***
  • 文章數: 242
    • 檢視個人資料
Re: 刪除LOG檔又不想影響LOG寫入問題
« 回覆 #3 於: 2015-08-19 16:25 »
試試 cp /dev/null logFileName

rainday

  • 鑽研的研究生
  • *****
  • 文章數: 740
  • 性別: 男
  • enhancing and optimizing
    • 檢視個人資料
Re: 刪除LOG檔又不想影響LOG寫入問題
« 回覆 #4 於: 2015-08-20 23:43 »
touch a.log
mv orig.log old.log && ln -sfv a.log  orig.log
像rsyslog的dailylog是用link來切目錄和檔案的,可供參考做法
<0  =_=  Don't learn to hack , hack to learn.