基本上所有的Linux發行版在預設情況下都預先安裝了cron工具。
即使未預先安裝cron,也很簡單,執行幾個簡單的指令就可手動安裝
# 检查是否已经预装了cron service cron status复制代码
安裝並啟動服務
安装:apt-get install cron 启动/停止/重启:service cron start/stop/restart 查询当前任务:crontab -l复制代码
安裝完成後檢查是否安裝成功,同樣使用status指令查看
#出現如下提示表示安裝成功:
##另外,在ubuntu下可能會出現這樣的提示: 這個也表示可以正常使用3. cron用法有幾個關於cron的簡單用法可以了解一下,後面也會透過一個案例詳細介紹如何使用首先,列出當前使用者計劃的cron作業:
crontab -l复制代码查看其它使用者的cron作業:
crontab –l –u username复制代码移除已經規劃的cron作業:
crontab –r复制代码4. 調度crontab計畫首先,透過以下指令
新增或更新crontab中的任務
第一次進入會要求你選擇編輯器,這個根據自己的習慣選擇。 選擇好之後會進入到這樣的一個介面: #用過vim的同學應該對這個介面不陌生,類似的操作:按A鍵開始編輯,按ESC輸入wq儲存並退出
重點是最下面的一段內容:m h dom mon dow commmand复制代码
這個其實就是crontab調度作業的一個使用介紹,可以用來設定定時任務。
具體一點的語法是這樣的:m h dom mon dow command * * * * * command - - - - - - | | | | | | | | | | | --- 预执行的命令 | | | | ----- 表示星期0~7(其中星期天可以用0或7表示) | | | ------- 表示月份1~12 | | --------- 表示日期1~31 | ----------- 表示小时1~23(0表示0点) ------------- 表示分钟1~59 每分钟用*或者 */1表示复制代码舉幾個簡單的應用案例:
0 2 * * * command复制代码
0 5,17 * * * command复制代码
*/10 * * * * command复制代码
0 17 * jan,may,aug sun command复制代码差不多常用的就這些,更多的使用案例還可以參考這個連結:http://linux.51yip .com/search/crontab上面案例中的command 表示你具體需要執行的任務,例如列印一段話:
echo "Hello xiaoyi" >> /tmp/test.txt 复制代码或將這段話輸出到txt中:
echo "Hello xiaoyi" >> /tmp/test.txt 复制代码或是你需要執行一個Python腳本:
python demo.py filepath复制代码後面的filepath表示輸入的參數args,這個可能有的同學會用到,例如下面的案例中需要輸入檔案下載路徑。 5. 實戰上面的都搞清楚了,就可以開始今天的重頭戲了。
首先我們需要每天從ftp伺服器下載最新的任務數據,將數據下載到本地後透過Python進行數據匯總統計,最後將結果存入資料庫中,如果期間某個環節出現問題則發送告警郵件。
① Python腳本首先需要Python腳本完成以下功能:if __name__ == '__main__': """获取最新数据日期""" latest_date = get_max_date() # 以最新日期为名创建文件夹 download_dir = os.path.join(sys.argv[1], latest_date) if not os.path.exists(download_dir): os.makedirs(download_dir) """从ftp中下载最新数据""" download_file(latest_date, download_dir) """处理最新数据并保存""" process_data(latest_date, download_dir)复制代码
郵件監控可以在加一個try catch的異常捕獲,有異常發生的時候則發送郵件
Python編輯郵件內容並發送以前也有寫過,可以參考下面這個:Python郵件發送②編寫cron任務打開crontab,編輯如下內容到最後一行,保存並退出crontab是會自動即時更新任務清單的,如果不放心也可以透過restart指令重啟cron 服務【參考文章開頭】 這裡有個小建議,所有的路徑都填入絕對路徑③ 效果監控如果Python程式碼沒有問題,任務會定時執行。 這裡建議可以把自己的command單獨在控制台運行下,沒有問題的時候再寫進到cron任務清單紅。最終小一的定時任務運行截圖如下:
最下面是ftp檔案下載,上面是資料匯總統計
#####相關免費學習推薦:#########python教學#########(影片)########
以上是Python定時任務,實現自動化的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!