1

我有一个 python 脚本来重建 haproxy 配置,然后重新启动 haproxy。唯一的问题是,当我从 cron 运行脚本时,有时 haproxy 会在新配置到位之前重新启动。

当我从命令行运行脚本时,这不会发生。

我试过在脚本中添加一个 time.sleep() 让它等待,但有时这仍然会发生。以下是相关代码:

command = "/home/adam/bin/genproxy.sh"
os.system(command)
os.system("cp /home/adam/bin/haproxy.cfg /etc/haproxy/")
time.sleep(2)
os.system("sudo /etc/init.d/haproxy restart")

如何确保重新启动等到复制完成?

4

1 回答 1

2

很确定这应该这样做。

commands = [ ... ]
for command in commands:
    if os.system(command) == 0:
        # Check for failure and wait
        continue
    else:
        print "ERROR"
        break
于 2013-07-15T16:07:08.800 回答