iT邦幫忙

1

想製作一個監控程式

各位前輩大大們好

小弟想製作一個監控程式,監控某一支檔案的變化。
大致上的流程如下:

有兩個檔案,A.txt(隨時會修改的檔案),B.txt(上一次傳送出去的檔案)

一、每小時會分析一個檔案(A.txt)與(B.txt)進行比對,留下差異部份存檔覆蓋(B.txt)
二、會開啟某一支程式,程式自動會將(B.txt)傳送
三、進行POST URL,記錄最後更新時間點。

以上。

想請教各位前輩們,這樣的需求,用哪個程式語言比較容易達成,且穩定度高?
在比對的這塊,小弟比較沒有把握,也想請教大大們該如何進行。

在此先謝謝各位前輩。

看更多先前的討論...收起先前的討論...
ccutmis iT邦高手 8 級 ‧ 2019-08-05 18:03:51 檢舉
我推薦用 Python
nrsjdje iT邦新手 5 級 ‧ 2019-08-05 18:06:49 檢舉
大大晚安,
請問,Python可以比對差異只留下差異資料嗎?
另外Python的監控(就是程式一直在執行中,不會只執行一次就結束) 該怎麼跑?
ccutmis iT邦高手 8 級 ‧ 2019-08-05 18:42:15 檢舉
Python可以比對差異只留下差異資料嗎? 可以。
程式一直在執行中,不會只執行一次就結束該怎麼跑
寫個無窮迴圈每分鐘確認是不是過一小時了 是的話就執行某些動作
或者弄個工作排程(在linux中是crontab)每小時定期執行一次
dragonH iT邦超人 5 級 ‧ 2019-08-05 18:43:34 檢舉
Python 之所以可以

是因為你讓他可以

-------------------------------------------------------

>另外Python的監控(就是程式一直在執行中,不會只執行一次就結束) 該怎麼跑?

https://stackoverflow.com/questions/20170251/how-to-run-the-python-program-forever
ccutmis iT邦高手 8 級 ‧ 2019-08-05 20:58:43 檢舉
Q1參考: google關鍵字 'python compare 2 text file'
https://stackoverflow.com/questions/19007383/compare-two-different-files-line-by-line-in-python
裡面解答把intersection改成difference 可以參考看看
fillano iT邦超人 1 級 ‧ 2019-08-06 09:05:37 檢舉
你的需求,得要三個檔案才做得到。因為B.txt只保留差異,這樣是無法用來比較A.txt的變動。你需要:A.txt是會修改的檔,B.txt是上次的A.txt的內容,C.txt是差異。你可以用任何程式語言工具來監視A.txt,當A.txt有變動時,把A.txt與B.txt的差異更動到C.txt,然後把A.txt的內容更動到B.txt,然後再來上傳C.txt。
froce iT邦大師 1 級 ‧ 2019-08-06 09:15:30 檢舉
os有notify機制,像這種檔案變動可以透過機制去通知,不一定要靠傳統的while、sleep來做。
https://pypi.org/project/watchdog/
ccutmis iT邦高手 8 級 ‧ 2019-08-06 10:10:34 檢舉
一、每小時會分析一個檔案(A.txt)與(B.txt)進行比對
不是有變動就比對,若是依此原則,用while true + sleep或工作排程反而會比用notify適用。
nrsjdje iT邦新手 5 級 ‧ 2019-08-06 17:48:18 檢舉
謝謝大大們解惑,這幾天人在國外,回國後再逐一回應前輩們的建議。
有寫完程式碼,也會更新在回覆內,絕不射後不理!

2 個回答

0
舜~
iT邦高手 1 級 ‧ 2019-08-05 23:12:30

用批次檔每小時對該檔案做git ??

  • git 版本控制工具

我要發表回答

立即登入回答