如何在Linux中自動刪除或清理/tmp文件夾內容?


每個Linux系統都有一個名為的目錄/tmp,該目錄已掛載了單獨的文件系統。

它具有稱為tmpfs的特殊文件系統。這是一個虛擬文件系統,操作系統將在系統引導時自動掛載/tmp掛載點。

如果要根據應用程序要求分別掛載/tmp目錄。

是的,您可以掛載它,並且應該將其添加到/etc/fstab文件中。

/tmp目錄是一個目錄,用於在應用程序運行時保存臨時文件(或會話文件)。

這些臨時文件的處理完成后,它們將由應用程序自動刪除。

默認情況下,僅在系統啟動或重新引導時清理/tmp目錄。

默認情況下,完成處理后,應用程序會自動從此目錄中刪除其內容。但是某些應用程序不會執行。

因此,我們需要手動刪除這些文件,但是如果我們從此目錄中刪除一些活動文件,這會導致斷開當前已建立的會話的連接。

但是,如果/tmp目錄已滿,我們需要刪除未使用的文件,舊的會話文件或無效的文件,以釋放一些磁盤空間。


可以通過使用以下三個選項來實現。

atime: 文件上次訪問時間–訪問時間顯示文件或目錄中的數據最后被命令或腳本等任何進程訪問的時間。
ctime:文件上次更改時間– ctime顯示文件或目錄元數據何時更改。這意味着何時更改文件屬性(如所有權或組等)。
mtime:文件上次修改時間– mtime顯示您修改文件內容或保存文件的時間。除非文件屬性被更新,否則大多數情況下ctime和mtime會相同。
 

方法1:如何使用mtime在Linux中刪除早於“ X”天的/tmp文件

這些命令將幫助您刪除“ X”天之前的文件。取決於您,如何執行此操作。您可以根據需要使用這些選項。

要使用mtime刪除/tmp目錄上早於2天的/tmp文件,請運行以下命令。

# find /tmp -type f -mtime +2 -delete;
or
# find /tmp -type f -mtime +2 -exec rm -f {} ;
or
# find /tmp -type f -mtime +2 | xargs rm -f
 

方法2:如何在Linux中使用atime刪除早於“ X”天的/tmp文件

這些命令將幫助您刪除“ X”天之前的文件。取決於您,如何執行此操作。您可以根據需要使用這些選項。

要使用atime刪除/tmp目錄上早於2天的/tmp文件,請運行以下命令。

# find /tmp -type f -atime +2 -delete;
or
# find /tmp -type f -atime +2 -exec rm -f {} ;
or
# find /tmp -type f -atime +2 | xargs rm -f
 

方法3:如何在Linux中使用ctime刪除早於“ X”小時的/tmp文件

要使用ctime刪除/tmp目錄上早於5個小時的/tmp文件,請運行以下命令。

# find /tmp -type f -mmin -300 -delete;
or
# find /tmp -type f -mmin -300 -exec rm -f {} ;
or
# find /tmp -type f -mmin -300 | xargs rm -f
 

方法4:如何在Linux中使用Shell腳本刪除早於“ X”小時的/tmp文件

以上方法需要人工交互才能執行任務。

但是,我們無法在24/7之前關注這一點。如果您有1000多台服務器,那么解決方案是什么?

它應該通過腳本自動執行。要清理/tmp目錄,我們可以編寫一個小的Shell腳本。

該腳本將刪除5小時之前的/tmp文件。

# vi /opt/script/tmp-cleanup.sh

#!/bin/bash
find /tmp -type f -mmin -300 -exec rm -f {} ;

最后添加一個cronjob以使其自動化。它將每五個小時運行一次。

# crontab -e
0 */5 * * * /bin/bash /opt/script/tmp-cleanup.sh
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM