在Debian 7.4中安装了一个stream浪的runit
。
我的运行脚本正在工作,但是当我创build一个服务/裤子/日志/目录我开始得到以下错误: unable to open supervise/ok
。 我的服务继续运行,但没有被logging。
我已经尝试了两种不同的服务,两者都有相同的问题。
我已经尝试了各种不同的服务/裤子/日志/运行脚本(主要是使用svlogd),我试图改变一切权限(a + rwx),存储日志的目录存在,并具有相同的权限。
如果我直接运行svlogd命令行,它按预期工作。
下面的bash日志显示了当我将/etc/service/pants/_log
重命名为/etc/service/pants/log
并返回到/etc/service/pants/_log
。
root@vwb-debian-wheezy:/etc/service# sv s pants/ run: pants/: (pid 29260) 44931s root@vwb-debian-wheezy:/etc/service# mv pants/{_,}log/ root@vwb-debian-wheezy:/etc/service# sv s pants/ run: pants/: (pid 29260) 44963swarning: pants/: unable to open supervise/ok: file does not exist ; run: log: (pid 29260) 44963s root@vwb-debian-wheezy:/etc/service# cat pants/log/run #!/bin/sh exec svlogd -ttt /var/log/service/pants/ root@vwb-debian-wheezy:/etc/service# ll pants/ total 12 drwxrwxrwx 2 root root 4096 Jul 3 07:00 log -rwxrwxrwx 1 root root 442 Jul 3 06:58 run drwxrwxrwx 2 root root 4096 Jul 2 18:59 supervise root@vwb-debian-wheezy:/etc/service# ll /var/log/service/ total 8 drwxrwxrwx 2 root root 4096 Jul 2 16:55 pants root@vwb-debian-wheezy:/etc/service# mv pants/{,_}log/ root@vwb-debian-wheezy:/etc/service# sv s pants/ run: pants/: (pid 29260) 45105s
在/etc/sv/pants/
not /etc/service/pants/
创buildrun
文件。
然后在/etc/service
创build一个符号链接到/etc/sv/pants
来激活服务。
ln -s /etc/sv/pants /etc/service/
直接在/etc/service
创build文件只是为了服务,在使用日志的时候也会出现问题。
可以通过删除/etc/service/
的符号链接来停用/etc/service/
。
对于Debian安装,有两个目录: /etc/service
和/service
。 为了让你的服务得到有效的控制,他们应该是彼此或多或less的镜像。 在你的例子中,对于服务pants
,应该有一个符号链接/etc/service/pants
和一个符号链接/service/pants
,每个应该指向/etc/sv/pants
。 您可以“欺骗”并将/service
符号链接本身到/etc/service
以获得相同的效果,但我不确定该变化的全部影响。