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 启动后立即更改套接字权限的目标,同时保留通过 upstart 管理 redis 的能力吗?

答案1

有可能 redis 在启动后 exec 运行时尚未创建套接字。您可以尝试将启动后行更改为:

post-start script
  sleep 5
  chmod 777 /tmp/redis.sock
end script

相关内容