cron是乙個linux下的後台程序,用來定期的執行一些任務。因為我用的是ubuntu,所以這篇文章中的所有命令也只能保證在ubuntu下有效。
1:編輯crontab檔案,用來存放你要執行的命令
sudo crontab -e
3:新增執行命令
0 7 * * * /usr/bin/python /root/world.py
這句話的意思就是每天早上七點都會自動執行這個指令碼!
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檔案
例項分析:
更換成unix的換行符
vim world.py
檢視格式
:set ff
發現是dos,我們要將其更換成unix
:set ff=unix
1 建立指令碼檔案world.py,在檔案開頭需要加上下面一行
#!/usr/bin/python
# encoding=utf-8
上面這行的作用是說明使用那個直譯器來執行該檔案,如果不知道python直譯器在哪,可以使用命令which python來檢視
設定編碼格式
2 給該檔案新增可執行的許可權
chmod +x test.py
3 新增計畫任務
crontab -e
在檔案中追加一行,* 7 * * * * /usr/bin/python /root/world.py
儲存退出,:wq
4 重啟cron服務
service cron restart
結束
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...