歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 讓你學會Linux計劃任務(二)

讓你學會Linux計劃任務(二)

日期:2017/2/25 10:38:56   编辑:Linux教程

  二、cron服務

  上面已經簡單介紹了cron的一些進程和控制。下面我們來看看cron怎麼實現。

  相對與at,cron的優點就是能夠周期性的執行某個命令,at卻只能執行一次

  cron的後台進程名字是crond ,cron也是system V的服務,所以我們可以service crond start|stop 來啟動和關閉此服務,也可以使用chkconfig或者ntsysv來選擇cron服務的默認開啟,這些命令在以前我們都講過的

  #crontab -e 編輯當前用戶的cron表

  #crontab -l 查看當前用戶的cron表

  #crontab -r 刪除當前用戶的cron進程

  #crontab -u 用戶名 以某用戶的身份來控制cron表

  還有個重要的知識點,就是當用戶的計劃任務建立後是存放在/var/spool/cron這個目錄

  當使用crontab -e編輯當前用戶的cron表後,會出現一個vi文件,cron的格式是這樣的。分成兩列,左邊是時間,右邊是運行的命令。時間是由5個部分組成。

  例:

  * * * * * wall hello everyone

  5個星號分別代表:minute hour day-of-month month-of-year day-of-week 分時日月周,而wall hello everyone 這是命令內容。上面的意識是每分每小時每天每月每周廣播hello everyone。具體時間大家可以自己定義。如果要每兩分鐘發送就用*/2代替第一個*。也可以是用具體時間來表示。

  Crontab –e 編輯的任務不要加入用戶名

  第一個*星號代表個小時的第幾分鐘:minute 范圍是從0-59

  第二個*星號代表每天的第幾個小時:hour 范圍是從0-23

  第三個*星號代表每月的第幾個日:day-of-month 范圍從1-31

  第四個*星號代表沒年的第幾個月:month-of-year 范圍從1-12

  第五個*星號代表每周的星期幾:day-of-week 范圍從0-6,其中0表示星期日

  用戶名:也就是執行程序要通過哪個用戶來執行,這個一般可以省略;

  命令:執行的命令和參數。

  如果我要表示9月10日25分執行ls var/spool/cron任務怎麼表示?

  25 * 10 9 * ls var/spool/cron

  */1 * * * 0 wall Hello redking.blog.51cto.com

  */ 表示每多少分鐘執行一次哈~

  當制定了cron任務後,可以用crontab -l查看, 也可以到/var/spool/cron/目錄查看。裡面的文件名字就是對應用戶的cron任務

  可以使用crontab -r 來刪除當前用戶的cron

  vim /etc/crontab 與crontab -e寫入的定時運行有什麼區別?

  vim /etc/crontab:是系統級別定義的crontab,/etc/crontab的所有者和組都是root

  crontab -e :是用戶自定義的crontab,是所有的用戶都可以寫入的

  兩種方法記錄的位置不一樣,一個在/etc/ 另一個在/var/ 裡面。都被cron服務調用哈

Copyright © Linux教程網 All Rights Reserved