/var/tmp 和文件生命週期

/var/tmp 和文件生命週期

我有一個每分鐘運行一次的 cronjob 並檢查某個檔案是否存在。如果沒有這樣的文件,作業就會默默結束。如果有文件,則啟動另一個腳本。該腳本完成後會刪除該檔案。其執行時間最多可能需要 20 分鐘。

我的問題是:這個方案有什麼缺陷嗎?將這樣的檔案儲存在tmp中可以嗎?我可以確定沒有任何東西會嘗試將其刪除嗎?


感謝您的回覆!

該方案的目的是允許透過 Web 介面運行該腳本。腳本本身位於使用者的主資料夾中並對其內容起作用。我不確定在 /var/run 中建立 pid 檔案是否合適。

答案1

我猜你說的是Linux系統。如果您沒有設定任何內容來清理 /tmp,則不會自動完成。唯一的例外是當您重新啟動系統時 - 大多數 Linux 發行版都會在重新啟動時清理 /tmp。當然,您可以搜尋執行 celan 的腳本,如果這是一個問題,您可以停用它

答案2

首先...我認為如果您“完成後刪除文件”,您的工作可能會運行多達 20 次。根據您的說法,一旦檢測到該文件,就應該將其移動/刪除。

這裡提出了類似的問題。

答案3

只要您檢查並確保您的文件處理腳本尚未運行,那麼您應該沒問題。 /tmp 適合這類事情,除非您遇到隨機重新啟動,而這本身就是一個相當大的問題。

答案4

您可能想查看他的手冊頁。這種標誌經常出現在/var/run 中。您應該為兩個進程使用標記文件,以防止執行多個處理腳本。

相關內容