欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

linux使用find和crontab命令定期清理過期文件

 更新時(shí)間:2016年12月19日 16:51:20   投稿:daisy  
這篇文章主要給大家介紹了linux系統(tǒng)下使用find和crontab命令定期清理過期文件的方法,文中先對(duì)find和crontab命令進(jìn)行了詳細(xì)的介紹,相信對(duì)大家的理解和學(xué)習(xí)具有一定的參考借鑒價(jià)值,下面來一起看看吧。

crontab 命令

crontab 命令是 Linux 中用來設(shè)定重復(fù)執(zhí)行命令或腳本的工具。它能夠在指定的時(shí)間段內(nèi),按照需求以某一時(shí)間間隔執(zhí)行命令或腳本。

crontab 的基本用法

crontab [-u <user>] [-e|-l|-r]
crontab <filename>

crontab <filename> 可以讀入一個(gè)以 crontab 語法書寫的文件,并依照文件內(nèi)的指示執(zhí)行定時(shí)任務(wù)。與此同時(shí),crontab -l 能夠在標(biāo)準(zhǔn)輸出上列出當(dāng)前用戶所有的定時(shí)任務(wù)情況。因此,我們可以用 crontab -l > <filename> 來保存當(dāng)前 crontab 的狀況,在有需要的時(shí)候(比如誤刪除)用 crontab <filename> 讀入恢復(fù)。

crontab -e 則會(huì)啟動(dòng)系統(tǒng)默認(rèn)的編輯器。這個(gè)編輯器由系統(tǒng)環(huán)境變量 EDITOR 指定;例如 export EDITOR=vi,則 crontab -e 會(huì)啟動(dòng) vi 來編輯當(dāng)前用戶的 crontab 定時(shí)任務(wù)文件。crontab -r 則會(huì)刪除用戶的所有 crontab 定時(shí)任務(wù)。

用來指定用戶的 -u <user> 選項(xiàng)則會(huì)改變 -e/-l/-r 等選項(xiàng)的行為。如果不通過 -u 指定用戶,則默認(rèn)的操作都是針對(duì)當(dāng)前用戶的;反之,則針對(duì)指定的用戶。例如 crontab -u Liam -r 則會(huì)刪除用戶 Liam 的 crontab 定時(shí)任務(wù)——當(dāng)然,你需要有足夠的權(quán)限這么做。

crontab 文件的格式

不管是用 crontab <filename> 從文件讀入定時(shí)任務(wù),還是用 crontab -e 編輯定時(shí)任務(wù),我們都會(huì)接觸到 crontab 格式的命令。

crontab 的命令格式如下:

從上圖我們可以看出:

  1. 一條 crontab 命令分成六列,寫在一行內(nèi);
  2. 前 5 列用于定時(shí),指明什么時(shí)候開始執(zhí)行;
  3. 第 6 列用于指定需要定時(shí)執(zhí)行的命令或腳本;

此外,和 Shell 腳本一樣,在 crontab 文件中,我們也可以用 # 來表示注釋。

花式定時(shí)

在 crontab 命令中用于定時(shí)的前 5 列中,支持以下符號(hào),用于「花式定時(shí)」:

  1. 星花(*):代表所有可能的值;
  2. 逗號(hào)(,):用逗號(hào)隔開同一字段的不同范圍;
  3. 連字符(-):用連字符連接兩個(gè)整數(shù),表示整數(shù)范圍;
  4. 斜線(/):實(shí)際上是除法斜線,用來指定時(shí)間間隔頻率。

一些例子

有了這些知識(shí),我們就可以看一些實(shí)例了。

# 每分鐘執(zhí)行一次
* * * * * command
# 每 5 分鐘執(zhí)行一次
*/5 * * * * command
# 每個(gè)小時(shí)的 15 分和 45 分執(zhí)行一次
15,45 * * * * command
# 晚上 20:00 -- 20:15 每分鐘執(zhí)行一次
0-15 20 * * * command
# 每周一上午 10 點(diǎn)執(zhí)行一次
0 10 * * 1 command

find —— 找些樂子

man find 給出的 find 命令的一般形式是:

find [-H] [-L] [-P] [-D debugopts] [-Olevel] path ... [expression]

其中 [-H] [-L] [-P] [-D debugopts] [-Olevel] 很少會(huì)用到。因此,find 命令的一般形式可以簡(jiǎn)化為 find path ... [expression];亦即,在一些路徑(默認(rèn)遞歸地包含子路徑)中找到合適的文件,然后根據(jù) expression 執(zhí)行相應(yīng)動(dòng)作。

  path ...: find 命令查找的路徑

  expression: 具體形式是 -parameters [-exec -ok]

      -parameters 有很多,待下一節(jié)具體介紹常用的參數(shù)

      -exec command {} \; 執(zhí)行一條 Shell 命令

      -ok command {} \; 同 -exec 的作用,不過在執(zhí)行每條命令前,都會(huì)提示用戶確認(rèn)

常用的參數(shù)

  -name : 按照文件名查找文件,接受通配符

      find . -name "*.cpp": 在當(dāng)前目錄 (.) 及子目錄下遞歸地查找所有后綴為 .cpp 的文件,并打印在標(biāo)準(zhǔn)輸出中

  -perm : 按照文件權(quán)限查找文件

      find . -perm 755: 在當(dāng)前目錄 (.) 及子目錄下遞歸地查找所有權(quán)限為 755 的文件(目錄),并打印在標(biāo)準(zhǔn)輸出中

      find . -perm 644 -name "*.cpp": 在當(dāng)前目錄及子目錄下 (.) 遞歸地查找所有權(quán)限為 644 的 .cpp 文件,并打印在標(biāo)準(zhǔn)輸出中

  -group : 按照文件的所屬組查找

  -user :  按照文件的所有者查找

      find . -user search: 在當(dāng)前目錄 (.) 及子目錄下遞歸地查找所有 search 賬號(hào)所屬的文件,并打印在標(biāo)準(zhǔn)輸出中

  -atime, -mtime, -amin, -mmin : a 開頭的表示「按照上次訪問時(shí)間查找」,m 開頭的表示「按照上次修改時(shí)間查找」;-n 表示 n 時(shí)間內(nèi),+n 表示 n 時(shí)間以前

      find . -atime +7: 在當(dāng)前目錄 (.) 及子目錄下遞歸地查找所有上次訪問在 7 天以前的文件,并打印在標(biāo)準(zhǔn)輸出中

      find . -mmin -10: 在當(dāng)前目錄 (.) 及子目錄下遞歸地查找所有上次修改在 10 分鐘以內(nèi)的文件,并打印在標(biāo)準(zhǔn)輸出中

  -newer file1 ! file2 : 查找比 file1 新但是比 file2 舊的文件

  -type [b|d|c|p|l|f] : 按照文件類型查找

      b: 塊設(shè)備文件

      d: 目錄

      c: 字符設(shè)備文件

      p: 管道文件

      l: 符號(hào)鏈接文件

      f: 普通文件

  -follow : 如果 find 命令遇到符號(hào)鏈接文件,就跟蹤至鏈接所指向的文件

  -delete : 刪除查找到的文件或目錄

定期清理

至此,定期清理無用的文件就變得很簡(jiǎn)單了。我們只需要在 crontab 里結(jié)合 find 命令的 -delete 選項(xiàng)即可。

0 8 * * * find /home/s/coredump -user search -type f -mtime +7 -delete

這里,我們?cè)诿刻煸缟?8 點(diǎn)整執(zhí)行 find 命令;該命令會(huì)在 /home/s/coredump 目錄下尋找 search 用戶創(chuàng)建的普通 7 天前的文件,然后刪除掉。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • ubuntu系統(tǒng)theano和keras的安裝方法

    ubuntu系統(tǒng)theano和keras的安裝方法

    這篇文章主要介紹了ubuntu系統(tǒng)theano和keras的安裝方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Linux下設(shè)置防火墻白名單(RHEL 6和CentOS 7)的步驟

    Linux下設(shè)置防火墻白名單(RHEL 6和CentOS 7)的步驟

    下面小編就為大家?guī)硪黄狶inux下設(shè)置防火墻白名單(RHEL 6和CentOS 7)的步驟。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-11-11
  • 實(shí)戰(zhàn) LAMP 服務(wù)器配置 完整篇

    實(shí)戰(zhàn) LAMP 服務(wù)器配置 完整篇

    LAMP 服務(wù)器配置 按部就班篇,大家可以學(xué)習(xí)試試。
    2009-06-06
  • 詳解Linux重定向用法

    詳解Linux重定向用法

    這篇文章主要介紹了Linux重定向用法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07
  • CentOS 7下MongoDB的安裝配置詳解

    CentOS 7下MongoDB的安裝配置詳解

    本篇文章主要介紹了CentOS 7下MongoDB的安裝配置詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-03-03
  • 簡(jiǎn)析Linux網(wǎng)絡(luò)編程函數(shù)

    簡(jiǎn)析Linux網(wǎng)絡(luò)編程函數(shù)

    這篇文章主要介紹了Linux網(wǎng)絡(luò)編程函數(shù),利用這些基本函數(shù),可以實(shí)現(xiàn)tcp協(xié)議通訊,可以實(shí)現(xiàn)通信。需要了解的小伙伴可以參考一下
    2021-08-08
  • 詳解Linux中搭建常用服務(wù)器

    詳解Linux中搭建常用服務(wù)器

    本篇文章主要介紹了Linux中搭建常用服務(wù)器,主要包括telnet、DHCP、DNS、sendmail、FTP、web、samba有興趣的可以了解一下。
    2016-12-12
  • Linux下用netstat查看網(wǎng)絡(luò)狀態(tài)、端口狀態(tài)

    Linux下用netstat查看網(wǎng)絡(luò)狀態(tài)、端口狀態(tài)

    這篇文章主要介紹了Linux下用netstat查看網(wǎng)絡(luò)狀態(tài)、端口狀態(tài)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-12-12
  • linux服務(wù)器CPU飆高排查分析

    linux服務(wù)器CPU飆高排查分析

    系統(tǒng)cpu飆高,尤其對(duì)于后端人員來說,其實(shí)應(yīng)該學(xué)會(huì)排查,這樣也算是綜合能力的體現(xiàn);那么當(dāng)出現(xiàn)了cpu嚴(yán)重飆高的時(shí)候怎么排查呢?感興趣的朋友跟隨小編一起看看吧
    2023-01-01
  • Linux 邏輯卷管理(LVM)使用方法總結(jié)

    Linux 邏輯卷管理(LVM)使用方法總結(jié)

    這篇文章主要介紹了Linux 邏輯卷管理(LVM)的使用方法,文中命令十分詳細(xì),幫助大家更好的學(xué)習(xí),感興趣的小伙伴快來參考下
    2020-06-06

最新評(píng)論