ubuntu定時執行任務crontab的使用

2021-08-27 07:44:01 字數 1944 閱讀 7557

先來說下場景,需要寫乙個爬蟲,定時從某個介面位址獲取資料,然後存入本地資料庫。

因此就需要乙個可定時執行的東西,之前在the5fire的知識體系中除了可以在資料庫中定時執行某個儲存過程或者sql語句,如何在系統中定時執行某個任務還沒有概念。

於是,請教了同事。知道在ubuntu中,準確的說是在linux中,有這麼東西——crontab,專門用來定製執行任務。簡單解說一番,就會用了。

雖然這個東西比較簡單,但為了保證知識體系的完整,還是要查查crontab是個什麼。

crontab單詞的意思是:定時任務。

crontab命令常見於unix和類unix的作業系統之中,用於設定週期性被執行的指令。該命令從標準輸入裝置讀取指令,並將其存放於「crontab」檔案中,以供之後讀取和執行。該詞**於希臘語 chronos(χρόνος),原意是時間。

通常,crontab儲存的指令被守護程序啟用, crond常常在後台執行,每一分鐘檢查是否有預定的作業需要執行。這類作業一般稱為cron jobs。

有了上面的概念,再來看crontab的使用就會清晰些。

既然是系統每分鐘都要檢查一下,那麼必然要有乙個檢查的依據,如配置檔案或者什麼的。

還是來看看百科:

crontab檔案包含送交cron守護程序的一系列作業和指令。每個使用者可以擁有自己的crontab檔案;同時,作業系統儲存乙個針對整個系統的crontab檔案,該檔案通常存放於/etc或者/etc之下的子目錄中,而這個檔案只能由系統管理員來修改。

crontab檔案的每一行均遵守特定的格式,由空格或tab分隔為數個領域,每個領域可以放置單一或多個數值。

好了,開始使用了。估計有些人從定義就知道他要怎麼用了。不過我還是想記錄下。

使用步驟:

1、終端執行crontab -e [解釋:編輯配置檔案]

2、選擇你要用的編輯器,一般人會選擇vi。

3、此時配置檔案已開啟,只需要按照他的格式寫配置即可。

好吧,簡單到我都覺得。。

舉個例子:

在我的home目錄下有乙個python指令碼,helloworld.py

#coding:utf-8

print

'hello world by crontab!'

我想要這個指令碼在每天的早上7點30執行。

因此這個 任務的crontab配置檔案就是:

# m h dom mon dow command

307* * * python /home/the5fire/testcrontab.

py>>/home/the5fire/testcrontab.

log2>&

1 簡單解釋下,這個配置的意思就是在每天的7:30用python執行我的家目錄下的testcrontab.py檔案,並將輸出內容輸出到testcrontab.log中,後面那個2>&1的意思是把錯誤的輸出也輸出到標準輸出(2表示錯誤,2>表示錯誤輸出,&表示等同於,1表示正確),因此如果執行出錯也會把錯誤輸出到之前定義的log中。

另外關於合適執行命令還有些要說。

上面只是定時幾點執行,那麼我怎麼設定它按照某一頻率執行。比如每分鐘執行依次。

對應的配置就是

# m h dom mon dow command

*/ 1* * * * python /home/the5fire/testcrontab.

py>>/home/the5fire/testcrontab.

log2>&

1 再來乙個場景,我想在每天的早上六點到八點之間,每隔3分鐘執行一次的配置怎麼寫:

# m h dom mon dow command

*/ 3

6- 8* * * python /home/the5fire/testcrontab.

py>>/home/the5fire/testcrontab.

log2>&

1 到此應該都會使用了吧,五個星號表示不同的執行單位(分、時、日、月、年),而那個反斜線表示頻率。

ubuntu定時執行任務

前幾天女神給我發了條訊息,為什麼我每天早上九點都會收到你給我發的天氣資訊的郵件?然後 當然,我是不可能告訴她,我是用crontab來定時執行python指令碼滴!好了,廢話不多說,直接進入正題!cron是乙個linux下的後台程序,用來定期的執行一些任務。因為我用的是ubuntu,所以這篇文章中的所...

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...