python - 如何每天运行一次shell脚本?

标签 python linux bash shell

我尝试每天只运行一次这个特定的 shell 脚本。这是我的 runLucene.py 代码:

#!/usr/bin/env python

import os
from extras.download_datos_desambiguar import news_Lucene

x=datetime.today()
y=x.replace(day=x.day, hour=09, minute=00, second=0, microsecond=0)
delta_t=y-x

secs=delta_t.seconds+1

def fourdlife():
    print "checking function"
    os.system("~/code/4dlife_repo/4dbatch/src/engines/extras/download_datos_desambiguar/news_Lucene.py")



t = Timer(secs, fourdlife)
t.start()
print "timer started"

我在我的 ProcesosContinously.py 文件中运行此代码,如下所示:

while True:
            os.system("./runl.sh")
            #some other processes

其中 runl.sh

python ~/code/4dlife_repo/4dbatch/src/engines/extras/download_datos_desambiguar/news_Lucene.py

此 Python 代码始终在我的 apache2 服务器上运行。

但是,这适用于任何给定时间,而不仅仅是指定时间。我究竟做错了什么? 另外,我觉得有更好的方法来做到这一点。我查看了 cron 任务,但这不是我想要的。我不希望我的程序进入 sleep() 状态,因为我需要在 runl.sh 进程之后运行其他进程。最好的方法是什么?

最佳答案

命令 crontab -e 将打开一个交互式编辑器,您可以在其中定义 cron 作业。

在该编辑器的缓冲区中,您可以输入如下所示的一行(然后保存):

00 00 * * * /path/to/script.sh

此命令将在每个午夜运行 script.sh

关于python - 如何每天运行一次shell脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29214926/

相关文章:

python - 使用子图时颜色条定位错误(matplotlib)

python Bokeh 单元测试

node.js - BASH - 为什么我的 NodeJS 服务器脚本崩溃了?

bash - 不使用rm命令递归删除目录

python - PutItem AWS DynamoDB 的无效类型错误

python - 处理以不同方式创建的 super 用户的最佳方法是什么?

linux - 如何在我的 AWS EC2 实例上安装特定字体?

linux - 节头列表指向哪个字符串表?

linux - 多实例上的 Gdb

linux - 如何从脚本运行 grep 并将输出存储在 bash 脚本的目标目录中的文件中