如何每小时从Linux终端运行python脚本?

时间:2017-06-27 12:01:32

标签: python linux

所以我想每小时从linux终端运行这个命令 python run.py 。 这样做的最佳方式是什么?

4 个答案:

答案 0 :(得分:4)

使用编辑您的crontab crontab -e
添加以下行以每小时运行一次脚本

0 * * * *  python <path-to-file> 

您可以使用crontab -l

列出预定的crons

答案 1 :(得分:3)

在unix上使用命令watch可以在任何设置的时间间隔内运行任何命令。

更多信息:https://en.wikipedia.org/wiki/Watch_(Unix)

(因为你在终端中指定了,所以选择这种方式通过cron,这将允许你在你启动它的终端中看到输出)

答案 2 :(得分:2)

使用此命令,使用cron作业的简单方法 crontab -e您将看到下图 enter image description here

您可以将此命令添加到cron配置:

* */1 * * * python /root/yourprogram.py > /dev/null 2>&1

*/1用于每小时执行python程序,查看cron命令的结构:

# Minute   Hour   Day of Month       Month          Day of Week        Command    
# (0-59)  (0-23)     (1-31)    (1-12 or Jan-Dec)  (0-6 or Sun-Sat)                
    0        2          12             *                *            /usr/bin/find

答案 3 :(得分:0)

我建议您使用 BlockingScheduler 中的 apscheduler.schedulers.blocking

只需使用pip install APSchedulerpip3 install APScheduler命令安装即可。这很好。

from apscheduler.schedulers.blocking import BlockingScheduler

def your_job():
    print("Do you job")

scheduler = BlockingScheduler()
scheduler.add_job(your_job, 'interval', seconds=5)
scheduler.start()

每5秒钟后,

Do you job
Do you job

将被打印。好的是你也可以指定minuteshours只需更改参数。因此,在您的情况下,只需将seconds=5更改为hours=1

from apscheduler.schedulers.blocking import BlockingScheduler
def your_job():
        print("Do you job")

scheduler = BlockingScheduler()
scheduler.add_job(your_job, 'interval', hours=1)
scheduler.start()