基于Linux的系統中/tmp目錄包含系統以及服務器上運行的其他軟件和應用程序臨時需要的必要文件。
例如,當您編寫文檔時,該文檔中的所有內容都保存為/ tmp目錄中的臨時文件。保存后,它會存儲在您的首選位置,并且在退出文檔后便會刪除臨時文件。
1、/tmp目錄和/var/tmp目錄有什么區別?
/tmp和/var/tmp都被程序和系統本身用來臨時存儲數據。然而,關鍵的區別在于數據在這些文件系統中存儲的時間。/var/tmp的數據保存期比/tmp目錄的數據保存期要長得多。
默認情況下,所有存儲在/var/tmp中的文件和數據最多可以保存30天。而在/tmp中,數據會在十天后自動刪除。
此外,任何存儲在/tmp目錄下的臨時文件都會在系統重啟后立即被刪除。因此,/var/tmp目錄被程序用來存儲需要在重啟之間暫時保存的數據。
2、Linux的/tmp目錄會不會被填滿?
存儲在/tmp目錄下的文件和數據只有幾KB大小。盡管有可能,但/tmp目錄被填滿是值得懷疑的。
對于一個普通的系統來說,需要有上百萬個臨時文件存儲在/tmp目錄中才能填滿它。如果你運行的是一個經常被關閉的單用戶系統,這不應該是你應該擔心的事情,因為重啟系統會刪除所有存儲在/tmp目錄下的文件。
但是,如果你是一個系統管理員,運行的服務器很少被重啟,并且托管了成千上萬的用戶,那么/tmp目錄被填滿就是一個實際問題。
隨著更多的臨時文件堆積在目錄中,它將慢慢吞噬所有的存儲空間,這對整個系統的健康來說是一個可怕的消息。
3、如何刪除存放在/tmp目錄里面的文件?
除非你知道自己在做什么,否則不建議你到處去刪除/tmp目錄里面的文件。這些文件很重要,是你系統上運行的軟件所需要的。刪除它們有可能導致系統崩潰。由于/tmp目錄中存儲的文件和數據會在系統重啟后自動刪除,所以你不需要主動擔心。
然而,正如前面所討論的那樣,對于連續運行數月的服務器來說,有必要在它淹沒/tmp目錄之前不時地清理臨時文件。為此,我們鼓勵你采取更系統的方法,而不是一下刪除所有的/tmp文件。
在這里,我們整理了一份關于如何正確管理Linux /tmp目錄的詳細解讀,以幫助系統管理員。
4、刪除臨時文件和管理Linux /tmp目錄的正確方法
在嘗試管理Linux /tmp目錄時,你需要考慮兩件事。首先,你需要知道如何確定要從/tmp目錄中刪除哪些文件,因為隨意刪除文件會干擾用戶的活動。
其次,你需要有一種方法來自動完成/tmp目錄的清理過程,因為要手動搜索和常規刪除臨時文件是不可能的。
考慮到這兩點,最完美的解決方案就是定期使用crontab部署用戶文件管家腳本。例如,假設你想例行地刪除所有存儲在/tmp目錄下的、最近三天沒有使用過的用戶文件。
那么,你可以通過首先通知服務器上的用戶關于你的新的臨時文件刪除策略來實現這一目標,這樣他們就可以相應地修改他們的使用活動。接下來,你需要寫一個腳本,幫助你找到所有這些文件。
這是您可以嘗試的示例:
find /tmp -type f ( ! -user root ) -atime +3
上面的腳本將查找最近三天未訪問的所有/ tmp文件,但將排除root用戶擁有的所有文件。要刪除所有這些文件,您只需要對上述腳本進行一點編輯即可:
find /tmp -type f ( ! -user root ) -atime +3 -delete
要定期運行此腳本,您需要將以上文本復制到文件中并使其可執行。對于本教程,我們將創建文件tmp.cleanup.sh。
接下來,我們將設置一個crontab命令,該命令每6小時執行一次腳本。為此,首先在終端中輸入以下命令:
$ crontab -e
這將在編輯器中打開crontab文件。接下來,您需要將給定命令復制并粘貼到編輯器中,然后保存并退出。
0**/6** /opt/scripts/tmp.cleanup.sh
這將每6小時在/opt/scripts/tmp.cleanup.sh中運行一次腳本,因此您不必擔心/tmp目錄被淹沒并耗盡系統存儲空間。
當然,您可以隨意對crontab進行編程,以在所需的任何定期間隔內執行腳本。這是有關如何創建crontab命令以幫助您的深入指南。
5、我不小心刪除了/tmp目錄,怎么辦?
在手動刪除/ tmp文件的過程中,某些用戶意外地最終刪除了/ tmp目錄本身。這樣的混亂可以而且確實會發生。但是,您可以使用上述方法快速恢復已刪除的/ tmp目錄。
您需要做的就是在終端中輸入以下命令:
$ sudo mkdir /tmp
$ sudo chmod 1777 /tmp
第一行創建一個新的/tmp目錄。第二行給予所有用戶(所有者,組和其他)訪問和許可,以讀取,寫入和運行/tmp目錄中的文件。
接下來,您可以輸入此命令來檢查/tmp目錄的所有權限,以確保所有用戶都可以使用它。
$ ls -ld/tmp
檢查一切正常后,您將需要重新啟動系統。這將確保程序使用新創建的/tmp目錄啟動。
以上這些您需要了解的有關Linux / tmp目錄的所有信息。