gpt4 book ai didi

python - 从服务器自动运行带有 python 脚本的 bash 文件

转载 作者:行者123 更新时间:2023-12-04 10:52:32 26 4
gpt4 key购买 nike

我有一个文件夹“自动化”,其中包含处理 Web 自动化任务并提取文本和 Excel 文件的 Python 脚本。这些文本和 Excel 文件临时存储在“自动化”中。

目前,我每周从位于同一目录中的 bash 包装器文件运行脚本 3 次,但我希望它 自动运行 来自服务器,所以当我不使用我的电脑时它会被执行。

你将如何使这项工作?谢谢

最佳答案

(1) 首先,您可以将以下内容放入名为 的文件中wrapper.py :

import time, sys

log, flush = sys.stdout.write, sys.stdout.flush

while True:
log("I am waking up, let's run the scripts\n")

# ****************************** #
# call your python scripts here
# example:
# import script1, script2
# script1.some_function1()
# script2.some_function2()
# ****************************** #


log("Done for today, I will go to sleep for 1/3 a week (56 hours)\n")
flush()

#(60 seconds/minute)x(60 minutes/hour)x(24 hours/day) x 3 days = 259200 seconds
hibernation = 259200

time.sleep(hibernation) # sleep for 3 days = 259200 seconds

(2) 然后要将其作为守护进程启动,请在终端中运行以下命令:
nohup python wrapper.py >> logfile.log 2>&1 & nohup“no hangup”,即使在您关闭终端(或退出您的 shell)后,python 进程也会继续运行
>>将输出发送到名为 logfile.log 的文件
2>&1将 stdout 和 stderr 都发送到 logfile.log
&将正在运行的进程发送到后台并将 shell 控制权交还给您

请注意,您只运行 nohup命令一次(除非服务器重新启动,否则您将再次运行它。如果这种情况经常发生,您可以通过将 nohup 命令放入可执行的 bash 脚本中,然后创建一个 cron 作业来自动重新启动该脚本的示例)。

关于python - 从服务器自动运行带有 python 脚本的 bash 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59409559/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com