ubuntu定時執行任務

2021-08-11 05:53:19 字數 2217 閱讀 3333

前幾天女神給我發了條訊息,「為什麼我每天早上九點都會收到你給我發的天氣資訊的郵件?」然後……

當然,我是不可能告訴她,我是用crontab來定時執行python指令碼滴!

好了,廢話不多說,直接進入正題!

cron是乙個linux下的後台程序,用來定期的執行一些任務。因為我用的是ubuntu,所以這篇文章中的所有命令也只能保證在ubuntu下有效。

檢視cron是否執行

開始的時候,我的ubuntu的cron不是自動執行的,所以sudo service cron start1:編輯crontab檔案,用來存放你要執行的命令

sudo crontab -e
3:新增執行命令

0

9 * * * /home/katyusha

/code/sendemail.py

sendeamil.py就是我給女神發郵件的指令碼,這句話的意思就是每天早上九點都會自動執行這個指令碼!(至於0 9 * * *這些東西,以下會詳解!)

4:重啟cron來應用這個計畫任務

sudo service cron restart
1:crontab檔案的基本格式如下所示

* 

* ** * command

分 時 天 月 周 命令

crontab中的每一行代表乙個定期執行的任務,分為6個部分。前5個部分表示何時執行命令,最後乙個部分表示執行的命令。每個部分以空格分隔,除了最後乙個部分(命令)可以在內部使用空格之外,其他部分都不能使用空格。前5個部分分別代表:分鐘,小時,天,月,星期,每個部分的取值範圍如下:

分鐘 0 - 59

小時 0 - 23

天 1 - 31

月 1 - 12

星期 0 - 6 0表示星期天

* (星號) 表示任意值,比如在小時部分填寫 * 代表任意小時(每小時)

,(逗號) 可以允許在乙個部分中填寫多個值,比如在分鐘部分填寫 1,3 表示一分鐘或三分鐘

/(斜線) 一般配合 * 使用,代表每隔多長時間,比如在小時部分填寫 /2 代表每隔兩分鐘。所以 /1 和 * 沒有區別

2:crontab例子

(1)30 20 * * * date >> /home/date.log //每天的20:30將日期資訊追加home目錄下的date.log中

(2)5 20 13,14 * * date >> /home/date.log //每月的13日,14日20:5分將日期資訊最追加home目錄下的date.log中

(3)0,10 10,12 * * * date >> /home/date.log //每天10點至12點之間,隔10分鐘將日期資訊最追加home目錄下的date.log中

(4)/5 * * * date >> /home/date.log //每5分鐘將日期資訊最追加home目錄下的date.log中

3:crontab是unix系統下定期執行任務的觸發器。使用者把要定期執行的任務記錄在這個檔案下面,然後crond定期的去檢查這個定期執行列表,有要執行的工作時便自動執行。

通過man crontab可以檢視到下面的資訊

(1)/etc/crond.allow 表示的是允許使用crontab的使用者列表

(2)/etc/crond.deny 表示的是不允許使用crontab的使用者列表

4: crontab常用的幾個命令格式

crontab -l //顯示使用者的crontab檔案的內容

crontab -e //編輯使用者的crontab檔案的內容

crontab -r //刪除使用者的crontab檔案

好了crontab的就說到這裡了,以後大家就可將從網上爬取的資料,定時以郵件的形式發給各自的女神了!

剛巧我的女神要用郵件!

(哈哈哈哈哈!)

Ubuntu定時執行任務 cron

ubuntu系統中可以使用cron來定時的執行一些任務,如資料庫備份。cron簡介 在linux系統中,計畫任務一般都是由cron承擔,cron是linux系統預設自帶的,開機就自動啟動。當cron啟動後,它會讀取它的所有配置檔案 全域性性配置檔案 etc crontab,以及每個使用者的計畫任務配...

定時執行任務

在windows上,使用configuration task scheduler 任務計畫程式 task scheduler library 任務計畫程式庫 create task.或者 control panel scheduled tasks add a scheduled task.在linu...

定時執行任務

spring中可以通過配置方便的實現週期性定時任務管理,這需要用到以下幾個類 org.springframework.schedu ling.quartz.methodinvokingjobdetailfactorybean 配置需要排程的bean的某個方法 org.springframework....