2021-05-12 14:32:11
Linux crontab命令 定時任務 用法詳解以及no crontab for root解決辦法
最近系統伺服器進行搬遷,又恰好需要使用定時任務執行程式,而我的程式主要使用PHP寫的,然後總結了下定時任務的用法,但是在這裡主要寫的是關於crontab命令的用法,使用過程中遇到不少問題,例如no crontab for root等問題。
一、Linux系統安裝crontab服務
1.確認crontab是否安裝
# crontab -l
如果報 “command not found” ,就說明該crontab服務沒有安裝
如果報 “no crontab for root” ,就說明已經安裝crontab服務了,請跳過步驟一,至於出現這個提示的解決辦法請往下看。
2.安裝crontab服務
CentOS系統,請執行以下命令:
//vixie-cron軟體包是cron的主程式;
# yum install -y vixie-cron
//rontabs軟體包是用來安裝、卸裝、或列舉用來驅動 cron 守護行程的表格的程式
# 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命令詳情請看下步
二、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.每隔一天執行一次
三、修改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的使用就到此為止了,歡迎有問題的小夥伴在下方留言。
Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx
本文永久更新連結地址:https://www.linuxidc.com/Linux/2018-07/153181.htm
相關文章