Linux crontab命令 定時任務 用法詳解以及no crontab for root解決辦法

 

最近系統服務器進行搬遷,又剛好須要使用定時任務運行程序,而個人程序主要使用PHP寫的,而後總結了下定時任務的用法,可是在這裏主要寫的是關於crontab命令的用法,使用過程當中遇到很多問題,例如no crontab for root等問題。php

1、Linux系統安裝crontab服務

  1.確認crontab是否安裝ubuntu

  # crontab -lvim

  若是報 「command not found」 ,就說明該crontab服務沒有安裝centos

  若是報 「no crontab for root」 ,就說明已經安裝crontab服務了,請跳過步驟一,至於出現這個提示的解決辦法請往下看。服務器

 

  2.安裝crontab服務編輯器

  centos系統,請執行如下命令:測試

//vixie-cron軟件包是cron的主程序;  spa

# yum install -y vixie-cron  rest

//rontabs軟件包是用來安裝、卸裝、或列舉用來驅動 cron 守護進程的表格的程序blog

# yum install crontabs

//啓動服務   

# /sbin/service crond start   或者  systemctl crond start

//加入開機自動啓動

# chkconfig --level 35 crond on

  ubuntu、debian系統,請執行如下命令:

//安裝crontab服務  

# apt-get install cron  

//啓動crontab服務(同時還有service cron stop 中止服務,service cron restart 重啓服務)

# service cron start   

 

  3.測試是否安裝成功了

  繼續執行上面第一條命令:crontab -l

  這時會出現 「no crontab for root」 這是因爲你尚未建立任何定時任務或者命令打錯,即沒有使用crontab -e命令去建立任何任務。可是到了這裏,你的安裝基本能夠了。crontab命令詳情請看下步

  

2、crontab命令詳解

  1.crontab命令主要有3個參數:

  -e :編輯用戶的crontab

  -l :列出用戶的crontab的內容

  -r :刪除用戶的crontab的內容

 

  2.功能說明:設置計時器

  補充說明:cron是一個常駐服務,它提供計時器的功能,讓用戶在特定的時間得以執行預設的指令或程序。只要用戶會編輯計時器的配置文件,就可使用計時器的功能。其配置文件格式以下:

語法:crontab [-u <用戶名稱>][配置文件] 或 crontab [-u <用戶名稱>][-elr]

  參數:

    -e   編輯該用戶的計時器設置。

    -l    列出該用戶的計時器設置。

    -r   刪除該用戶的計時器設置。

    -u<用戶名稱>  指定要設定計時器的用戶名稱。

  

  3.crontab -e命令詳解

  # crontab -e

  若是第一次執行上面命令時,會讓你選擇編輯器,不過有些終端會默認幫你選擇nano編輯器的,通常咱們都會修改編輯器爲vim,具體方法請看步驟三。

  而後會打開一個crontab的文件,而後點擊 i 進行輸入模式,輸入一下內容:

  //每隔一分鐘執行一次test.php

  # * * * * * php /var/test.php  

  輸入完後保存退出,:wq。而後重啓crontab服務

  // 不一樣服務器命令不同,詳情請看步驟一

  # service cron restart

 

  4.crontab -l

  查看crontab有哪些定時任務在執行,這裏沒什麼好弊述的。

  

  5.crontab格式

  基本格式:* * * * * command

  格式說明:上面的*表明着不一樣的時間點,具體排序以下:分 時 日 月 周。

  例如:

  * * * * * php /var/www/hello/index.php >> /tmp/log/index.txt

  //表示每分鐘執行一次,整句話的意思是說每分鐘執行使用php執行index.php文件,並將信息打印到/tmp/log/index.txt文件中,具體路徑本身改

  這裏加個技巧關於查看某個文件,但又不想vim <文件名>的。可使用cat <文件名>命令

  1. * */2 * * * php /var/www/index.php >> /tmp/index.txt

  2. * * */1 * * php /var/www/index.php >> /tmp/index.txt

  // 若是要設置沒隔多久執行,則寫爲「*/數字」,在哪一個位置就表明每隔多久執行一次。上面命令分別表明:

  1.每隔2小時執行一次

  2.每隔一天執行一次

 

3、修改crontab默認編輯器爲vim

  1.debian終端下默認編輯器爲nano,好比crontab -e就會打開nano,這個編輯器用起來很不習慣,想修改成vim,固然,你的debian系統必須先安裝vim.若是已經安裝vim,請輸入以下命令:

# update-alternatives --config editor

  

  而後選擇/usr/vim/vim.basic就能夠了,vim.tiny與vim.basic的區別是vim.basic爲徹底版的vim,而vim.tiny爲簡化版,功能上有所區別,如不支持高亮等等.

  輸入數字   2   ,回車,再次打開crontab -e便可。

 crontab的使用就到此爲止了,歡迎有問題的小夥伴在下方留言。

相關文章
相關標籤/搜索