2015-10-06 69 views
0

我正在使用Play框架實現我自己的文件緩存服務器,並且將我的緩存文件放在/tmp目錄中。自動清理Unix中的tmp目錄

但是我不知道操作系統如何管理/tmp目錄。我想知道的是,操作系統是否會自動清理一些足夠長的文件,或者長時間沒有被訪問的文件。

我在基於Debian jessie的Docker容器中運行我的服務器。

+0

不是說你的問題很重要,而是從主機操作系統或Docker容器中掛載'/ tmp'? – Thilo

+0

我將它安裝在Docker容器中。我認爲將卷裝入主機操作系統並讓另一個容器執行清理會很有趣。 – Khanetor

回答

0

您的操作系統將無法清除/tmp。一些Unix變種在重啓時清除它。你需要自己做。

find /tmp/yourpath -mtime +30 -type f -exec rm {} \; 

例如,

但是Docker有點特殊,因爲容器是一個封裝層。那find仍然會訣竅,但你可能只是傾倒並重新啓動你的容器'新鮮',並垃圾舊的。

+0

我不熟悉上面的命令。每30分鐘清理一次/ tmp目錄嗎? – Khanetor

+0

沒有。閱讀'find'的手冊頁。它會刪除30天以前的任何文件。並運行一次。您可以將其添加到'cron'以更經常地運行。 – Sobrique

+0

我會修補這個解決方案,謝謝Sobrique! :) – Khanetor