我有一个我从cron作业调用的脚本。脚本是
sort
当我从shell提示符运行脚本时,脚本完全按预期工作。
我将它作为cron作业安装如下(对于使用#!/bin/bash
python /home/ubuntu/gateway-haproxy-config.py | tee /etc/haproxy/haproxy.cfg.new
DIFF=$(diff /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.new)
if [ "$DIFF" != "" ]
then
mv /etc/haproxy/haproxy.cfg.new /etc/haproxy/haproxy.cfg
service haproxy restart
else
echo "unmodified"
fi
的root):
sudo crontab -e
当cron运行时,脚本会成功写入一个新的配置文件,当diff不为空时,差异甚至用新的替换旧的。
作为cron作业运行时,* * * * * cd /home/ubuntu && ./gateway-config-cron
永远不会发生。我被迫手动重启服务。
答案 0 :(得分:1)
这可能是一个与路径相关的问题,我可以通过提供service
的完整路径使其按预期工作。
#!/bin/bash
python /home/ubuntu/gateway-haproxy-config.py | tee /etc/haproxy/haproxy.cfg.new
DIFF=$(diff /etc/haproxy/haproxy.cfg /etc/haproxy/haproxy.cfg.new)
if [ "$DIFF" != "" ]
then
mv /etc/haproxy/haproxy.cfg.new /etc/haproxy/haproxy.cfg
/usr/sbin/service haproxy restart
else
echo "unmodified"
fi