91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Python定時任務如何實現自動化

發布時間:2020-11-17 10:07:54 來源:億速云 閱讀:181 作者:小新 欄目:編程語言

這篇文章主要介紹Python定時任務如何實現自動化,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

1. 安裝cron

基本上所有的Linux發行版在默認情況下都預安裝了cron工具。

即使未預裝cron,也很簡單,執行幾條簡單的命令就可手動安裝

# 檢查是否已經預裝了cron
service cron status復制代碼

安裝并啟動服務

安裝:apt-get install cron
啟動/停止/重啟:service cron start/stop/restart
查詢當前任務:crontab -l復制代碼

2. 安裝檢查

安裝完成后檢查一下是否安裝成功,同樣使用 status命令查看

出現如下提示表示安裝成功:

Python定時任務如何實現自動化

另外,在ubuntu下可能會出現這樣的提示:

Python定時任務如何實現自動化

這個也表示可以正常使用

3. cron用法

有幾個關于cron的簡單用法可以了解一下,后面也會通過一個案例詳細介紹如何使用

首先,列出當前用戶計劃的cron作業:

crontab -l復制代碼

查看其它用戶的cron作業:

crontab –l –u username復制代碼

移除已經計劃的cron作業:

crontab –r復制代碼

4. 調度crontab計劃

首先,通過如下命令添加或更新crontab中的任務

Python定時任務如何實現自動化

第一次進入會要求你選擇編輯器,這個根據自己的習慣選擇。

選擇好之后會進入到這樣的一個界面:

Python定時任務如何實現自動化

用過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表示復制代碼
舉幾個簡單的應用案例:
  • 每天 02:00 執行任務
0 2 * * * command復制代碼
  • 每天 5:00和17:00執行任務
0 5,17 * * * command復制代碼
  • 每 10min 執行一次任務
*/10 * * * * command復制代碼
  • 在特定的某幾個月的周日 17:00 執行任務
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腳本完成以下功能:

  • 從數據庫中獲取最新數據日期
  • 從ftp中下載最新數據到本地
  • 對本地最新數據進行匯總統計
  • 統計結果存入數據庫匯總
  • 郵件通知

上面這個流程大致的偽代碼是這樣的:

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定時任務如何實現自動化

這里有個小建議,所有的路徑都填寫絕對路徑

③ 效果監控

如果Python代碼沒有問題,任務會定時執行。

這里建議可以把自己的command單獨在控制臺運行下,沒有問題的時候再寫進到cron任務列表紅。

最終小一的定時任務運行截圖如下:

最下面是ftp文件下載,上面是數據匯總統計

Python定時任務如何實現自動化

以上是Python定時任務如何實現自動化的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

合阳县| 错那县| 广德县| 叶城县| 突泉县| 民权县| 鄂尔多斯市| 上林县| 凤城市| 贵南县| 池州市| 涪陵区| 讷河市| 岳阳县| 大同市| 合肥市| 六枝特区| 台中县| 拜泉县| 保康县| 柳州市| 凤庆县| 九龙县| 屯昌县| 长治县| 元江| 永善县| 永德县| 鹤壁市| 桐庐县| 保亭| 全州县| 镶黄旗| 若羌县| 新津县| 呼玛县| 甘肃省| 汝南县| 平定县| 明光市| 达州市|