CentOS 5.5下如何使用Crontab

來源:互聯網
上載者:User

伺服器系統:64Bit CentOS 5.5

雖然關於 Crontab 的介紹到處都是,詳細讀了一遍這個詞條,收穫還是有的。Crontab 這個名字來自 “chronos”,一個古希臘語, “時間”的意思(以下用法在生產環境下的伺服器非常有用,撫琴煮酒強烈推薦);關於crontab的基礎用法和文法我就不推薦了,google和51cto上到處都是,我說的是一些進階技巧,裡面也有可能是不知道的;Shell指令碼均取自於線上伺服器。我安裝的伺服器一般都是採用迷你安裝,安裝以後就發現啟動cron的管理服務crond預設就是啟動的。

service crond status

crond (pid 3444) is running…

手快的小夥可用chkconfig crond on讓其在level3和level5自動運行。

cron把命令列儲存在crontab(cron table)檔案裡,這個檔案通常在 /etc 目錄下。每個系統使用者都可以有自己的crontab(在/var/spool/cron/ 下)。

要查看目前使用者的crontab,輸入crontab -l

要編輯crontab,輸入crontab -e

要刪除crontab,輸入crontab -r

如當前是root身份,要查看/編輯/刪除/某使用者的crontab,只需在相應的命令後加上 -u USERNAME(如 crontab -e -u USERNAME)即可。crontab檔案的預設編輯器是vi,可以輸入

export VISUAL='editor'

更改預設編輯器。

cron服務每分鐘不僅要讀一次 /var/spool/cron 目錄內的所有檔案,還需要讀一次 /etc/crontab 檔案。配置這個檔案也能讓cron執行任務。使用crontab命令是對使用者級任務的配置,而編輯 /etc/crontab 檔案是對系統級任務的配置。

撫琴煮酒定義的crontab文法比較好記,推薦記憶學習

分 時 日 月 星期 使用者 帶絕對路徑的命令 指令碼或PHP詳細路徑

細心的你發現沒有,crontab最小執行時間為分鐘,如果要求任務是以秒為層級的怎麼辦,其實是有辦法的,我等會以執行個體說明下;伺服器我建議也以/etc/crontab為主,它更方便控制使用者管理;建議伺服器上的計劃任務時間錯開,不要同時並行任務,不然會在某時間段造成系統負載過大,搞得你的Nagios狂發警示郵件。

玩windows應該也會發現,windows2K系列的每修改一次系統管理員Administrator的密碼就是一次浩大的工程,windows的每個計劃任務scheduler都要更改密碼;CentOS下修改root密碼就簡單多了,一條passwd命令就解決問題了,而且不影響crontab的執行。

每條 JOB 執行完畢之後,系統會自動將輸出發送郵件給當前系統使用者。日積月累,非常的多,甚至會撐爆整個系統。所以每條 JOB 命令後面進行重新導向處理是非常必要的: 》/dev/null 2>&1 。前提是對 Job 中的命令需要正常輸出已經作了一定的處理, 比如追加到某個特定記錄檔;》 /dev/null 2>&1 表示把所有標準輸出發送到 /dev/null(linux的資源回收筒),把標準錯誤輸出(2)發送到和標準輸出(1)同樣的地方(即 /dev/null)。運行這行命令將不會產生任何輸出。舉例說明如下:

30 15 13 6 1 * root tar czf /usr/local/backups/daily/etc.tar.gz /etc 》 /dev/null 2>&1

CentOS/FreeBSD下用crontab定時執行PHP程式的正確方法如下:

在linux下,可以使用crontab+php的方法:

1、使用crontab –e編輯定時任務

內容為:

xx:xx:xx 執行一個test.php檔案

2、php檔案必須在檔案頭一行,加上解譯器路徑(就象perl做的那樣)

#!/usr/local/bin/php

PHP的執行需要Apache的支援,shell指令碼的執行需要Linux的支援,而Linux支援定時運行某個程式的功能。

---------------------------------------------------------------

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.