Upstart сценариев: запустить сервис и сразу же запустить другую команду

Вот мой текущий скрипт Upstart , который я поместил в /etc/init/redis.conf:

description "redis server"

start on runlevel [2345]
stop on shutdown

exec sudo /opt/redis/redis-server /opt/redis/redis.conf
post-start exec sudo chmod 777 /tmp/redis.sock

respawn

Я пытаюсь запустить сервер Redis, а затем сразу запустить его. измените права доступа к файлу сокета, который он создает, чтобы он был более разрешающим.

К сожалению, в настоящее время нет способа настроить redis для установки разрешений сокетов на что-либо кроме 755, что слишком ограничительно для моего варианта использования.

Этот скрипт не работает . Он эффективно запускает сервер redis, но права доступа к файлу unix остаются прежними.

Есть идеи, как я могу достичь цели изменения разрешений сокета сразу после запуска redis, сохраняя при этом возможность управлять redis через upstart?

2
задан 19 October 2011 в 02:24

1 ответ

Возможно, что redis не создал сокет в тот момент, когда исполняется ex-post-start. Вы можете попробовать изменить строку после старта на:

post-start script
  sleep 5
  chmod 777 /tmp/redis.sock
end script
0
ответ дан 19 October 2011 в 02:24

Другие вопросы по тегам:

Похожие вопросы: