我試圖運行計劃的cron作業並將輸出發送給一些用戶。但是,如果發生新的事情,我只想給用戶發送電子郵件。如果兩個文件內容不同,如何運行cron作業然後發送電子郵件輸出?
本質上講,這是發生了什麼:
我運行一個python腳本,它會檢查FTP服務器上的文件名。如果文件名不同,它會下載文件並開始解析信息。之前下載的文件的文件名存儲在last.txt中 - 如果確實如此,則找到一個新文件,然後它只更新last.txt中的文件名
如果文件名相同,則停止處理並且只是輸出文件是一樣的。
從本質上講,我的想法是我可以做類似的東西:
CP last.txt temp.last.txt | python script.py --verbose> report.txt | diff last.txt temp.last.txt
雖然這就是我陷入困境的地方。基本上我想區分這兩個文件,如果它們是相同的 - 沒有任何反應。但是,如果它們不同,我可以通過郵件命令將report.txt的內容通過電子郵件發送到幾個電子郵件地址。
希望我已經足夠詳細了,謝謝!
看起來像我遇到的問題與該腳本會立即嘗試diff的,而實際上python腳本是事實未完成運行。有任何想法嗎? – Chris
當然!問題在於管道「|」。 – Bichoy
你不應該在管道之後放置diff這意味着標準輸出重定向。管道以流水線方式工作,並在python腳本的第一行輸出後馬上執行其available = diff處理輸出。 – Bichoy