自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Linux下如何刪除長(zhǎng)時(shí)間不使用的舊文件?

系統(tǒng) Linux
我們知道系統(tǒng)里面常常會(huì)有一些忘記刪除的長(zhǎng)時(shí)間不用而且確實(shí)沒(méi)有用處的文件,如果不去處理,這些無(wú)用的文件會(huì)越來(lái)越多,浪費(fèi)許多系統(tǒng)資源。

[[345548]]

我們知道系統(tǒng)里面常常會(huì)有一些忘記刪除的長(zhǎng)時(shí)間不用而且確實(shí)沒(méi)有用處的文件,如果不去處理,這些無(wú)用的文件會(huì)越來(lái)越多,浪費(fèi)許多系統(tǒng)資源。在不知道文件名的情況下,很難去檢查某一目錄下到底是哪些文件長(zhǎng)時(shí)間沒(méi)有被訪問(wèn),同時(shí)刪除這些文件。我們今天就介紹一款非常實(shí)用的工具來(lái)完成這一工作————tmpwatch

tmpwatch 是什么

tmpwatch 能夠循環(huán)地刪除指定目錄下指定時(shí)間內(nèi)沒(méi)有被訪問(wèn)的文件,這一命令常常用于清理臨時(shí)文件目錄,比如 /tmp 或者 /var/tmp 這類目錄。

它只清除指定目錄下的空目錄、普通文件和符號(hào)鏈接文件,也不會(huì)影響其他目錄,而且會(huì)避開(kāi)那些屬于root用戶的系統(tǒng)相關(guān)關(guān)鍵文件的。

默認(rèn)設(shè)置下,tmpwatch 命令依據(jù)文件的 atime (access time)而非 mtime (modify time)來(lái)刪除文件。如果你想改變它的刪除依據(jù),可以在使用這個(gè)命令時(shí)加上你想修改的參數(shù)。

注意:千萬(wàn)不要在根目錄底下運(yùn)行 tmpwatch 或者 tmpreaper 命令,因?yàn)橄到y(tǒng)可沒(méi)有任何機(jī)制阻止你在根目錄下運(yùn)行此命令。

怎樣在 Linux 上安裝 tmpwatch

各種 Linux 發(fā)行版本的安裝命令都有些略微差別,具體的安裝方法見(jiàn)下文。

如果你的 Linux 發(fā)行版本是 REHL/CentOS 6 的話,可以使用 yum 命令來(lái)安裝 tmpwatch,示例如下:

  1. $ sudo yum install -y tmpwatch 

如果你使用的 Linux 發(fā)行版本是 Debian 或者 Ubuntu ,則需要使用 apt 或者 apt-get 命令來(lái)安裝 Tmpreaper,示例如下:

  1. $ sudo apt-get install tmpreaper 

如果你使用的是 openSUSE,則應(yīng)使用 zypper 命令安裝 tmpwatch:

  1. $ sudo zypper install -y tmpwatch 

如果 Linux 發(fā)行版本是 Fedora,則應(yīng)使用 dnf 命令安裝 tmpwatch:

  1. $ sudo dnf install -y tmpwatch 

說(shuō)明:在以 Debian 為基礎(chǔ)的 Linux 系統(tǒng),是用 tmpreaper 命令代替 tmpwatch 的,若你使用的系統(tǒng)是以 Debian 為基礎(chǔ)的Linux 版本,則將下文的示例中的 tmpwatch 換為 tmpreaper 即可。

tmpwatch 命令的關(guān)鍵選項(xiàng)和參數(shù)

  • atime (File Last Access Time):文件最后一次被訪問(wèn)的時(shí)間;
  • mtime (File Last Modify Time):文件內(nèi)容最后一次被修改的時(shí)間;
  • ctime (File Last Change Time):文件元數(shù)據(jù)最后一次被修改的時(shí)間,即文件相關(guān)屬性被修改的時(shí)間,多數(shù)情況下 mtime 和 ctime 值相同,但是諸如文件所有者、權(quán)限、所屬組這類不涉及內(nèi)容的屬性被修改時(shí)則只會(huì)影響 ctime;
  • dirmtime (Directory Last modification time):目錄最后一次被修改的時(shí)間。

這些時(shí)間參數(shù)用來(lái)設(shè)置刪除文件的條件閾值:

  • d:?jiǎn)挝粸樘?
  • h:?jiǎn)挝粸樾r(shí);
  • m:?jiǎn)挝粸榉昼?
  • s:?jiǎn)挝粸槊搿?/li>

用 tmpwatch 命令刪除一段時(shí)間內(nèi)沒(méi)有被訪問(wèn)的文件

如前所述,tmpwatch 命令的默認(rèn)選項(xiàng)是 atime,而默認(rèn)的單位參數(shù)則是 h,所以如果你確實(shí)要按以小時(shí)為單位計(jì)算的訪問(wèn)時(shí)間來(lái)刪除文件,那么你不用加任何特殊的選項(xiàng)或則參數(shù)后綴,可以直接是用這個(gè)命令。如下例所示,即為刪除 /tmp 目錄下過(guò)去5小時(shí)內(nèi)沒(méi)有被訪問(wèn)的文件:

  1. # tmpwatch 5 /tmp 

下面這個(gè)示例是刪除 /home/daygeek/Downloads 目錄下過(guò)去十小時(shí)內(nèi)沒(méi)有修改過(guò)內(nèi)容的文件,注意,如果要按 mtime 來(lái)刪除文件,需要在命令中加上 -m 的選項(xiàng):

  1. # tmpwatch -m 10 /home/daygeek/Downloads 

刪除以其他單位計(jì)算的某段時(shí)間內(nèi)沒(méi)有被訪問(wèn)的文件

如果你要以天為單位,則需要加上 d 的后綴,如下為刪除30天內(nèi)沒(méi)有被訪問(wèn)的文件:

  1. # tmpwatch 30d /home/daygeek/Downloads 

刪除一段時(shí)間內(nèi)未被使用的所有文件

如果你想不僅僅刪除普通文件、符號(hào)鏈接文件、空目錄文件,而是想刪除指定目錄下某段時(shí)間內(nèi)沒(méi)有被訪問(wèn)的所有文件,則需要加上選項(xiàng) -a,如下為刪除指定目錄下12小時(shí)未被修改內(nèi)容的所有文件:

  1. # tmpwatch -am 12 /tmp 

將某些目錄排除在刪除操作外

如下命令可以讓那些十小時(shí)內(nèi)沒(méi)有被修改過(guò)內(nèi)容的目錄不被刪除:

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

將特定路徑排除在刪除操作外

下面的命令刪除 /home/daygeek/Downloads 目錄下所有十小時(shí)內(nèi)沒(méi)有修改內(nèi)容的文件,但是 /home/daygeek/Downloads/Movies 路徑下卻不受影響,即該路徑下十小時(shí)內(nèi)沒(méi)修改的文件也不會(huì)被刪除:

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

將特定格式的文件排除在刪除操作外

下面所示的命令為刪除指定文件下的所有10小時(shí)內(nèi)未被改動(dòng)的文件,除了 pdf 格式的文件:

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

預(yù)演 tmpwatch 的效果

下面這條命令即是對(duì) tmpwatch 的功能效果進(jìn)行預(yù)演:

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

用 tmpwatch 設(shè)置一個(gè)定時(shí)任務(wù)周期性地執(zhí)行刪除操作

要完成這個(gè)任務(wù),會(huì)在 /etc/cron.daily/tmpreaper 目錄下留下一個(gè) cronjob 文件,這個(gè)文件是按照 /etc/timereaper.conf 的設(shè)定工作的,你可以按自己的需求設(shè)置它。

如下所示的設(shè)置,能在每天上午10點(diǎn)時(shí)刪除指定目錄下,十五天沒(méi)被訪問(wèn)的文件:

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

關(guān)于 tmpwatch 命令的介紹就到這里了,希望本篇文章對(duì)各位讀者能有幫助,關(guān)于這個(gè)命令,你如果還有什么疑問(wèn)或者其他想法,歡迎留言討論

本文授權(quán)轉(zhuǎn)載自公眾號(hào)「良許Linux」。良許,世界500強(qiáng)外企Linux開(kāi)發(fā)工程師,公眾號(hào)里分享大量Linux干貨,歡迎關(guān)注!

 

責(zé)任編輯:武曉燕 來(lái)源: 良許Linux
相關(guān)推薦

2020-06-05 12:45:41

LinuxTmpwatchTmpreaper

2011-07-14 10:07:08

DCAD

2010-03-16 15:47:06

Ubuntu Linu

2009-12-21 14:25:47

Linux內(nèi)核

2015-09-18 16:17:03

刪除內(nèi)核Ubuntu

2021-02-03 10:43:54

Linux系統(tǒng)磁盤(pán)

2024-12-16 15:07:10

2019-04-01 19:00:40

Linuxshell內(nèi)置命令

2017-10-11 16:23:59

Linuxinode刪除文件

2018-12-07 11:15:20

設(shè)置Windows 10命令

2011-09-07 17:00:51

Ubuntussh

2011-03-29 09:08:50

Linux配置Cacti

2009-12-10 09:42:07

2017-11-03 09:59:16

Linux文件空間

2019-07-29 10:56:32

Linuxuseradd命令創(chuàng)建用戶賬號(hào)

2022-07-19 15:01:34

Linux

2022-03-28 19:53:24

Linux恢復(fù)文件意外刪除文件

2019-03-18 09:40:44

Linux命令編程語(yǔ)言

2019-10-21 08:56:36

Linux日志文件拆分

2020-09-16 23:04:32

Linux創(chuàng)建用戶主adduser
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)