在服务器上持久运行Python脚本

时间:2020-05-14 08:26:27

标签: python ubuntu telegram-bot

我有一个Python机器人,我正在数字海洋上托管。 现在要持续运行它,我正在使用虚拟终端屏幕,我发现这种方式远非稳定。

我如何安排我的机器人脚本永远运行并在崩溃时重新运行? 还有如何安排其他一些python脚本在一小时内运行一次?

2 个答案:

答案 0 :(得分:2)

问题1.如何使事情永远运行。

有几种方法可以做到这一点。您可以创建类似于systemd服务(tutorial here)的系统服务,也可以使用诸如supervisord之类的东西来进行操作。两种方法都可以帮助您在失败时重新启动。

最后,您仍然可以使用screen或tmux来执行此操作,但是失败后将无法自动重新启动。


问题2。如何定期运行脚本?

为此,有一个名为cron的内置程序。您可以在指定的任何时间使用它来自动触发任何脚本。

DigitalOcean: How to use cron to automate

tldr;您可以只做crontab -e,然后添加以下内容

0 * * * * python /path/to/script.py

这将在每天每小时的0分钟触发该命令。

这是一个网站,可用于制作cron时间格式。 https://crontab.guru/

答案 1 :(得分:1)

您可以使用crontab安排流程。

要每小时运行一次,您可以这样使用

  • 0 * * * * / my / program / path

(分钟,小时,一个月中的某天,一个月,一周中的某天)