/etc/init 中的文件 - 是所有文件都被执行还是只执行带有 conf 扩展名的文件?

/etc/init 中的文件 - 是所有文件都被执行还是只执行带有 conf 扩展名的文件?

我还有一些文件/etc/init正在测试。据我所知,此目录中的所有文件都在启动时执行。

我的问题是:它适用于每个*.conf文件还是全部目录中的文件?如果我想备份一个文件该怎么办:会/etc/init/someinit.conf.20130507执行吗?

我检查了该man页面但找不到任何明确的解释。

这些是我的OSinit信息:

$ uname -a
Linux me 3.5.0-21-generic #32-Ubuntu SMP Tue Dec 11 18:51:59 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/os-release
NAME="Ubuntu"
VERSION="12.10, Quantal Quetzal"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu quantal (12.10)"
VERSION_ID="12.10"

$ init --version
init (upstart 1.5)
Copyright (C) 2012 Scott James Remnant, Canonical Ltd.

答案1

刚刚找到答案:在我的 upstart 1.5 中,它只适用于*.conf文件。

测试:

我创建了两个文件/etc/init/zzservice.conf/etc/init/yyservice.conf.20130507。第一个可以工作,而第二个不行。当我将第二个文件的名称更改为时/etc/init/yyservice.conf,即以 结尾,它就可以工作了.conf

# cat /etc/init/zzservice.conf 

script
  exec su - root -c 'echo "this is a test" > /tmp/testservice'
end script


start on (started network-interface
          or started network-manager
          or started networking)

stop on (stopping network-interface
         or stopping network-manager
         or stopping networking)


# service zzservice restart
stop: Unknown instance: 
zzservice start/running, process 5839
# 
# service yyservice restart
yyservice: unrecognized service
# 
# mv yyservice.conf.20130507 yyservice.conf
# 
# service yyservice restart
stop: Unknown instance: 
yyservice start/running, process 5866
# 

相关内容