crontab 和 haproxy
Crontab and haproxy
我有一个我不明白的奇怪行为:
我正在 运行将 haproxy 作为负载均衡器和其他 Web 容器前面的安全屏障。
haproxy 运行宁没问题并使用我配置的 letsencrypt 文件。
到目前为止一切顺利。
当 ssl 证书运行到期时,将生成一个包含所有需要的密钥文件的新证书并替换密钥文件。
之后,haproxy 必须重新加载其配置。
现在:当我打电话时
cd /etc/haproxy
service haproxy reload
或命令行中的脚本本身,一切运行都很好。
一旦我通过 cron 调用它,它就不起作用了!?!?
没有错误,重新配置脚本 运行 直到结束。
/etc/haproxy/bin/request_letsencrypt_certificate.sh:
#!/bin/bash
cd /etc/haproxy
service haproxy reload
crontab -e 作为 root:
# LetsEnrcrypt | recert
* * * * * /etc/haproxy/bin/request_letsencrypt_certificate.sh
(出于测试目的,我更改为 运行 每分钟 )
使用echo test>run.txt时每分钟创建一次文件,所以脚本启动成功,但是服务命令好像没有执行?
你的问题是什么,为什么在命令行上有效,但在 cron 上却不行?
这两个操作都是使用 root 权限作为 root 本身执行的(并且当通过脚本中的 whoami 在 cron-call 中转储用户时,“root”在 运行 时间被确认)
如果将 service
更改为 /sbin/service
以确保它在 PATH
中是否有效?您也可能不需要脚本中的 cd /etc/haproxy
。
我有一个我不明白的奇怪行为: 我正在 运行将 haproxy 作为负载均衡器和其他 Web 容器前面的安全屏障。
haproxy 运行宁没问题并使用我配置的 letsencrypt 文件。
到目前为止一切顺利。
当 ssl 证书运行到期时,将生成一个包含所有需要的密钥文件的新证书并替换密钥文件。
之后,haproxy 必须重新加载其配置。
现在:当我打电话时
cd /etc/haproxy
service haproxy reload
或命令行中的脚本本身,一切运行都很好。
一旦我通过 cron 调用它,它就不起作用了!?!? 没有错误,重新配置脚本 运行 直到结束。 /etc/haproxy/bin/request_letsencrypt_certificate.sh:
#!/bin/bash
cd /etc/haproxy
service haproxy reload
crontab -e 作为 root:
# LetsEnrcrypt | recert
* * * * * /etc/haproxy/bin/request_letsencrypt_certificate.sh
(出于测试目的,我更改为 运行 每分钟 ) 使用echo test>run.txt时每分钟创建一次文件,所以脚本启动成功,但是服务命令好像没有执行?
你的问题是什么,为什么在命令行上有效,但在 cron 上却不行?
这两个操作都是使用 root 权限作为 root 本身执行的(并且当通过脚本中的 whoami 在 cron-call 中转储用户时,“root”在 运行 时间被确认)
如果将 service
更改为 /sbin/service
以确保它在 PATH
中是否有效?您也可能不需要脚本中的 cd /etc/haproxy
。