2010-02-12 26 views
0

一個第三方應用程序將數據寫入日誌文件。數據格式是文本。日誌文件(比如說orig.log)是每天創建的。日誌文件的最大大小設置爲1 GB。要求是寫一個程序關於使用java或shell腳本的建議

  1. 這將重命名該日誌文件 (說temp.log)和改變 一些記錄按要求。

  2. 程序會將此日誌文件的全部內容追加到 其他文件(say-Processed.log)中。

  3. 程序將刪除temp.log。

  4. 方案會像 調度-應該能夠在特定的時間間隔 像15分鐘/ 1小時等進行 1,2,3

適合這個java嗎?或Shell腳本?任何其他選項? (所有文件,第三方應用程序和此程序將在同一臺機器上)。

+0

cron和python是你最好的選擇 – 2010-02-12 19:00:49

回答

3

就個人而言,如果它是日誌文件操作,我會使用perl或python。 (至於每15分鐘安排一次,這就是cron的目的)。

如果「改變一些記錄」很簡單,你可以將前兩個步驟組合成perl,python,awk甚至sed管道。

perl foo.pl <orig.log>> Processed.log 
0

Shell腳本非常適合這種用途。

一步一個只MV orig.log temp.log 你可以用awk或sed的步驟2 等

的安排部的cron可能做的工作(^^)

最後你可以考慮哪一個你最瞭解。

+0

謝謝大家。 shell腳本(awk + ​​sed)似乎比編寫java程序更好的選擇。我的知識在awk上是初步的,但不應該是一個問題。 – user269723 2010-02-12 18:45:10

0

是java適合這種嗎?

是的,如果你命令它會很直接。

或Shell腳本?

是的,這取決於你更熟悉什麼。

還有其他的選擇嗎?

我會用不同的編程語言,因爲Python已經提到,我想補充的Ruby,它是在這樣的就業機會也很大。

+0

當然,使用'cron' – OscarRyz 2010-02-12 19:16:27

+0

謝謝。我在java中使用它很舒適,但是擔心性能。每隔10分鐘讀取並修改1 GB文件? – user269723 2010-02-12 23:27:47