crontab 命令
crontab 命令是 Linux 中用來設定重復執行命令或腳本的工具。它能夠在指定的時間段內,按照需求以某一時間間隔執行命令或腳本。
crontab 的基本用法
crontab [-u <user>] [-e|-l|-r]crontab <filename>
crontab <filename> 可以讀入一個以 crontab 語法書寫的文件,并依照文件內的指示執行定時任務。與此同時,crontab -l 能夠在標準輸出上列出當前用戶所有的定時任務情況。因此,我們可以用 crontab -l > <filename> 來保存當前 crontab 的狀況,在有需要的時候(比如誤刪除)用 crontab <filename> 讀入恢復。
crontab -e 則會啟動系統默認的編輯器。這個編輯器由系統環境變量 EDITOR 指定;例如 export EDITOR=vi,則 crontab -e 會啟動 vi 來編輯當前用戶的 crontab 定時任務文件。crontab -r 則會刪除用戶的所有 crontab 定時任務。
用來指定用戶的 -u <user> 選項則會改變 -e/-l/-r 等選項的行為。如果不通過 -u 指定用戶,則默認的操作都是針對當前用戶的;反之,則針對指定的用戶。例如 crontab -u Liam -r 則會刪除用戶 Liam 的 crontab 定時任務――當然,你需要有足夠的權限這么做。
crontab 文件的格式
不管是用 crontab <filename> 從文件讀入定時任務,還是用 crontab -e 編輯定時任務,我們都會接觸到 crontab 格式的命令。
crontab 的命令格式如下:

從上圖我們可以看出:
此外,和 Shell 腳本一樣,在 crontab 文件中,我們也可以用 # 來表示注釋。
花式定時
在 crontab 命令中用于定時的前 5 列中,支持以下符號,用于「花式定時」:
一些例子
有了這些知識,我們就可以看一些實例了。
# 每分鐘執行一次* * * * * command# 每 5 分鐘執行一次*/5 * * * * command# 每個小時的 15 分和 45 分執行一次15,45 * * * * command# 晚上 20:00 -- 20:15 每分鐘執行一次0-15 20 * * * command# 每周一上午 10 點執行一次0 10 * * 1 command
find ―― 找些樂子
man find 給出的 find 命令的一般形式是:
find [-H] [-L] [-P] [-D debugopts] [-Olevel] path ... [expression]
其中 [-H] [-L] [-P] [-D debugopts] [-Olevel] 很少會用到。因此,find 命令的一般形式可以簡化為 find path ... [expression];亦即,在一些路徑(默認遞歸地包含子路徑)中找到合適的文件,然后根據 expression 執行相應動作。
path ...: find 命令查找的路徑
expression: 具體形式是 -parameters [-exec -ok]
新聞熱點
疑難解答