溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux怎么使用Tmpwatch/Tmpreaper刪除舊文件

發(fā)布時(shí)間:2021-10-23 10:33:26 來源:億速云 閱讀:129 作者:小新 欄目:系統(tǒng)運(yùn)維

這篇文章主要介紹linux怎么使用Tmpwatch/Tmpreaper刪除舊文件,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

什么是 tmpwatch

tmpwatch 會(huì)在指定目錄中遞歸刪除指定時(shí)間段內(nèi)未被訪問的文件。通常,它用于自動(dòng)清除臨時(shí)文件系統(tǒng)目錄,例如 /tmp/var/tmp。

它只會(huì)刪除空目錄、常規(guī)文件和符號(hào)鏈接。它不會(huì)切換到其他文件系統(tǒng),并避開了屬于根用戶的 lost+found 目錄。

默認(rèn)情況下,tmpwatch 會(huì)根據(jù)文件的 atime(訪問時(shí)間)而不是 mtime(修改時(shí)間)刪除文件。

你可以在 tmpwatch 命令中添加其他參數(shù)來更改這些行為。

警告: 請不要在 / 中運(yùn)行 tmpwatchtmpreaper,因?yàn)樵摮绦蛑袥]有防止這種情況的機(jī)制。

如何在 Linux 上安裝 tmpwatch

可以在官方倉庫中按以下方式安裝 tmpwatch

對(duì)于 RHEL/CentOS 6 系統(tǒng),請使用 yum 命令安裝 tmpwatch

$ sudo yum install -y tmpwatch

對(duì)于 Debian 和 Ubuntu 系統(tǒng),請使用 apt 命令 或 apt-get 命令 安裝 tmpreaper

$ sudo apt-get install tmpreaper

對(duì)于 openSUSE 系統(tǒng),請使用 zypper 命令 安裝 tmpwatch

$ sudo zypper install -y tmpwatch

對(duì)于 Fedora 系統(tǒng),請使用 dnf 命令 安裝 tmpwatch。

$ sudo dnf install -y tmpwatch

請注意: 如果你使用的是基于 Debian 的系統(tǒng),請使用 tmpreaper 而不是 tmpwatch。所有示例都可以如預(yù)期工作。

了解關(guān)鍵選項(xiàng)和參數(shù)

  • atime(文件上次訪問時(shí)間):顯示命令或腳本等任意進(jìn)程最后一次訪問文件中數(shù)據(jù)的時(shí)間。

  • mtime(文件上次修改時(shí)間):顯示修改文件內(nèi)容或保存文件的時(shí)間。除非是更改文件屬性,否則大多數(shù)情況下 ctimemtime 會(huì)相同。

  • ctime(文件上次更改時(shí)間):顯示文件元數(shù)據(jù)更改時(shí)間。這意味著更改文件屬性的時(shí)間(如所有權(quán)或組等)。

  • dirmtime(目錄的上次修改時(shí)間):顯示目錄的上一次修改時(shí)間。

時(shí)間參數(shù)定義刪除文件的閾值。

  • d – 天

  • h – 小時(shí)

  • m – 分鐘

  • s – 秒

如何使用 tmpwatch 命令刪除一段時(shí)間未訪問的文件

正如我在本文開頭所說,tmpwatch 默認(rèn)根據(jù)文件訪問時(shí)間(atime)來刪除文件。另外,由于小時(shí)是默認(rèn)參數(shù),因此如果使用小時(shí)單位,那么無需在時(shí)間上添加后綴。

例如,運(yùn)行以下命令以遞歸方式刪除過去 5 個(gè)小時(shí)未訪問的文件。

# tmpwatch 5 /tmp

運(yùn)行以下命令刪除最近 10 個(gè)小時(shí)未修改的文件。如果要使用修改時(shí)間(mtime)來刪除文件,那么需要在 tmpwatch 命令中添加 -m 選項(xiàng)。

# tmpwatch -m 10 /home/daygeek/Downloads

如何使用 tmpwatch 命令刪除超過 “X” 天未訪問的文件

如果要使用天數(shù)刪除文件,那么需要添加后綴 d。以下示例刪除了 30 天以上的文件。

# tmpwatch 30d /home/daygeek/Downloads

如何使用 tmpwatch 命令刪除一段時(shí)間內(nèi)未訪問的所有文件

以下命令將基于修改時(shí)間(mtime)刪除所有類型的文件,而不僅僅是常規(guī)文件、符號(hào)鏈接和目錄。

# tmpwatch -am 12 /tmp

如何在 tmpwatch 中排除目錄

以下命令將刪除過去 10 個(gè)小時(shí)未修改的所有文件,并排除目錄。

# tmpwatch -am 10 --nodirs /home/daygeek/Downloads

如何在 tmpwatch 中排除特定路徑

以下命令將刪除過去 10 個(gè)小時(shí)未被修改的所有文件,除了下面排除的文件夾。

# tmpwatch -am 10 --exclude=/home/daygeek/Downloads/Movies /home/daygeek/Downloads

如何在 tmpwatch 中排除特定模式

以下命令將刪除過去 10 小時(shí)未被修改的所有文件,除了滿足下面列出的模式的文件。

# tmpwatch -am 10 --exclude-pattern='*.pdf' /home/daygeek/Downloads

如何讓 tmpwatch 命令空運(yùn)行

如果要空運(yùn)行,請運(yùn)行以下命令。

# tmpwatch -t 5h /home/daygeek/Downloads

如何設(shè)置 cronjob 來使用 tmpwatch 定期刪除文件

默認(rèn)情況下,它在 /etc/cron.daily/tmpreaper 目錄下有一個(gè) cronjob 文件。該 cronjob 根據(jù)位于 /etc/timereaper.conf 中的配置文件工作。你可以根據(jù)需要自定義文件。

它每天運(yùn)行一次,并刪除 7 天之前的文件。

另外,如果你希望常規(guī)執(zhí)行某項(xiàng)操作,那么可以根據(jù)需要手動(dòng)添加一個(gè) cronjob。

# crontab -e 0 10 * * * /usr/sbin/tmpwatch 15d /home/daygeek/Downloads

上面的 cronjob 將在每天上午 10 點(diǎn)刪除早于 15 天的文件。

以上是“l(fā)inux怎么使用Tmpwatch/Tmpreaper刪除舊文件”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI