python定時排程程式呼叫系統命令

2021-10-02 22:26:48 字數 1292 閱讀 6696

最近需要用python做日常處理,需要每天定時執行指定系統命令。

度娘是非常熱情的,排程問題給了很多方式,比如time、shedule。然後就是各種裝外掛程式,但執行各種失敗。呼叫jar包程式,給了各種方案,全部除錯不通過。折騰一天後,換成呼叫shell程式,終於在除錯了3個程式後就通過了。

import os 

import time

import schedule

import threading

defjob()

: os.system(

"ls -al"

)#每隔十分鐘執行一次任務

schedule.every(5)

.seconds.do(job)

while

true

: schedule.run_pending(

) time.sleep(

1)

這個程式功能,就是模擬每隔5秒執行一次「ls -al」。

同時schedule還支援如下排程格式:

```python

#每隔十分鐘執行一次任務

schedule.every(10)

.minutes.do(job, name)

#每隔一小時執行一次任務

schedule.every(

).hour.do(job, name)

#每天的10:30執行一次任務

schedule.every(

).day.at(

"10:30"

).do(job, name)

#每隔5到10天執行一次任務

schedule.every(5)

.to(10)

.days.do(job, name)

#每週一的這個時候執行一次任務

schedule.every(

).monday.do(job, name)

#每週三13:15執行一次任務

schedule.every(

).wednesday.at(

"13:15"

).do(job, name)

這些內容也都是來自網上各個大俠的**,經過一些整理除錯。

還有兩個小坑:

1,python程式名字不要起做: shedule.py,以免無法呼叫shedule外掛程式庫。

2,使用pip install之後如果找不到,可將外掛程式目錄,新增到設定引數pythonpath

Spring Quartz定時排程

一 所需的jar包 二 定時排程的配置和使用 配置 quartz 2 建立任務類 public class quartztest 當專案啟動時,每兩分鐘 從每小時的0分0秒開始,隔兩分鐘再去執行一次,到每個小時的59分為止 就會去執行quartztest 類中在配置檔案指定的execute方法。三 ...

Spring 定時排程

一 spring提供兩種觸發器 1 每隔指定時間則觸發一次,在quartz中對應的觸發器為 org.springframework.scheduling.quartz.triggerbean 2 每到指定時間則觸發一次,在quartz中對應的觸發器為 org.springframework.sche...

Quartz定時排程

quartz定時排程 在包含了spring依賴包情況下加入quartz所依賴包 org.quartz schedulergroupid quartzartifactid 2.2.1version dependency spring用的4.0.2版本 需要注意的是quartz的版本區別 1.x系列的對...