所以我想每小时从linux终端运行这个命令 python run.py 。 这样做的最佳方式是什么?
答案 0 :(得分:4)
使用编辑您的crontab
crontab -e
添加以下行以每小时运行一次脚本
0 * * * * python <path-to-file>
您可以使用crontab -l
答案 1 :(得分:3)
在unix上使用命令watch
可以在任何设置的时间间隔内运行任何命令。
更多信息:https://en.wikipedia.org/wiki/Watch_(Unix)
(因为你在终端中指定了,所以选择这种方式通过cron,这将允许你在你启动它的终端中看到输出)
答案 2 :(得分:2)
使用此命令,使用cron
作业的简单方法
crontab -e
您将看到下图
您可以将此命令添加到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 APScheduler
或pip3 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
将被打印。好的是你也可以指定minutes
或hours
只需更改参数。因此,在您的情况下,只需将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()