Ubuntu下crontab的安裝和使用

crontab命令常見於Unix和Linux的操作系統之中,用於設置週期性被執行的指令。該命令從標準輸入設備讀取指令,並將其存放於“crontab”文件中,以供之後讀取和執行。通常,crontab儲存的指令被守護進程激活。crond 常常在後臺運行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般稱爲cron jobs。

一、安裝

1、ubuntu安裝cron

安裝:apt-get install cron
啓動:service cron start
重啓:service cron restart
停止:service cron stop
檢查狀態:service cron status
查詢cron可用的命令:service cron
檢查Cronta工具是否安裝:crontab -l

附centOS安裝:
centOSs安裝cron:(1)vixie-cron 軟件包是 cron 的主程序;(2)crontabs 軟件包是用來安裝、卸裝、或列舉用來驅動 cron 守護進程的表格的程序。

yum install vixie-cron
yum install crontabs

配置:

service crond start     //啓動服務
service crond stop      //關閉服務
service crond restart   //重啓服務
service crond reload    //重新載入配置
service crond status    //查看crontab服務狀態

在CentOS系統中加入開機自動啓動:

chkconfig --level 345 crond on

二、使用

1、啓動Cron服務

service cron start

2、使用Cron幫助
如果cron工作正常,那麼你可以使用man命令查看其手冊描述的詳細用法。(退出按下q鍵或h鍵)

man crontab

在這裏插入圖片描述

3、對Cron作業進行列表顯示

使用以下命令列出當前用戶計劃的cron作業。

crontab -l

在這裏插入圖片描述
如果想查看其它用戶的cron作業,可以使用如下命令(這會列出指定用戶的cron作業):

crontab -l -u username

4、編輯Cron作業
第一次進入的時候要選擇編輯器,選擇後你可以配置新cron作業了,一般是選3

crontab -e

在這裏插入圖片描述
下面的例子,創建一個cron作業,它每分鐘輸出文本“test crontab is work or not”並把文本保存到/var/www/html/testcrontab.txt。
寫入以下的腳本,保存退出,一旦保存了此cron腳本文件,就可以把它添加到計劃的作業中。

* * * * * echo "test crontab is work or not" >> /var/www/html/testcrontab.txt

Cron表達式詳解可參考這裏https://blog.csdn.net/longgeaisisi/article/details/90400969
在這裏插入圖片描述
運行結果:

在這裏插入圖片描述
5、移除Cron作業
使用下面的命令移除已經計劃的cron作業

crontab -r

使用下面的命令移除所有已計劃的cron作業,且無需再次確認。

crontab -ir

  • -u user:用來設定某個用戶的crontab服務;
  • file:file是命令文件的名字,表示將file做爲crontab的任務列表文件並載入crontab。如果在命令行中沒有指定這個文件,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,並將它們載入crontab。
  • -e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。
  • -l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。
  • -r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。
  • -i:在刪除用戶的crontab文件時給確認提示。

6、總結
(1)新創建的cron作業,不會馬上執行,至少要過2分鐘才執行。如果重啓cron服務則會馬上執行。
(2)Cron是Unix系統的一個配置定期任務的工具,用於定期或者以一定的時間間隔執行一些命令或者腳本;可執行的任務範圍可以是每天夜裏自動備份用戶的home文件夾,也可以每個小時記錄CPU的信息日誌。
crond位於/etc/rc.d/init.d/crond 或 /etc/init.d 或 /etc/rc.d /rc5.d/S90crond,最常用/var/lock/subsys/crond。
(3)crontab(cron table)命令用於編輯執行中的定期任務列表,並且操作是基於每個用戶的,每一個用戶(包括root用戶)都擁有自己的crontab。
crontab位於/usr/bin/crontab。
crond守護進程是在系統啓動時由init進程啓動的,受init進程的監視,如果它不存在了,會被init進程重新啓動。這個守護進程每分鐘喚醒一次,並通過檢查crontab文件判斷需要做什麼。
每個用戶有一個以用戶名命名的crontab文件,存放在/var/spool/cron/crontabs目錄裏。若管理員允許或者禁止其他用戶擁有crontab文件,則應編輯/etc/下面的cron.deny和cron.allow這兩個文件來禁止或允許用戶擁有自己的crontab文件。每一個用戶都可以有自己的crontab文件,但在一個較大的系統中,系統管理員一般會禁止這些文件,而只在整個系統保留一個這樣的文件。

參考來自https://blog.csdn.net/chszs/article/details/47276899

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章