如何使服务器上运行的Python脚本在连接断开后自动重启?

时间:2018-06-21 11:09:49

标签: server restart

我正在服务器上运行我的Python脚本。它连接到数据库并将结果附加到文件。这样,带有结果的新行总是写入文件的末尾。但是,如果与服务器的连接断开,则必须从上次完成的位置再次运行它。是否可以使Python脚本自动ssh到服务器并在没有人工干预的情况下再次运行Python脚本?

2 个答案:

答案 0 :(得分:0)

像这样运行脚本

ssh user@host "nohup python -u" - < script.py &

如果连接断开,nohup将停止程序在服务器上终止

最后的

&表示在后台运行此命令,因此您的本地终端可以执行其他操作,而无需等待ssh完成。

通过

进行测试
  • 运行该命令
  • 将机器置于飞行模式(以某种方式强制断开连接)
  • 退出飞行模式并再次SSH进入远程服务器
  • 使用htop之类的工具并查找应该(希望)仍在运行的python脚本!

答案 1 :(得分:-1)

在linux上:在 systemd

中进行配置