微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CentOS 6和新贵

新的CentOS 6附带Upstart,取代了init.我正在尝试将/ etc / inittab文件转换为新的upstart格式.此特定服务器仅具有15个左右的inittab条目,但是,其他服务器具有> 30.我们主要想要inittab和upstart的’respawn’部分.但是,我一直在阅读我能找到的所有新手文档(这几乎都基于Ubuntu,显然是在旧版本的暴发版上)而且没有任何进展.我可以创建一个配置文件(让我们称之为/etc/init/test.conf).该文件包含此内容(注释,匿名)
start on runlevel [345]
stop on starting shutdown

respawn
#Comment about what it does
exec su -c "/usr/bin/ssh -2CNL 11111:127.0.0.1:11111 10.10.1.1" username

如果我发出initctl reload-configuration,则会识别作业.我可以通过调用initctl start test启动它,然后该作业将启动.

但是,这不会在重新启动时起作用,只能手动执行.我已经尝试将start命令修改为以下内容,一切都没有运气

start on started

start on (local-filesystems and net-device-up IFACE!=lo)

start on net-device-up IFACE=eth0

以及我在不同的例子中提到的其他十几种方式.似乎没有启动脚本. (test.conf与此文件夹中的所有其他文件一样,由root拥有,644)

我错过了一些明显的东西吗?

我找到了一个非常非常非常有用的新手脚本,适用于将来遇到问题的人.把它放到/ etc / init /中
# /etc/init/debug.conf
start on ( starting JOB!=debug \
or started JOB!=debug \
or stopping JOB!=debug \
or stopped JOB!=debug )
script
exec 1>>/tmp/log.file
echo -n "$UPSTART_JOB/$UPSTART_INSTANCE ($0):$$:`date`:"
echo "Job $JOB/$INSTANCE $UPSTART_EVENTS. Environment was:"
env
echo
end script

此脚本基本上记录所有启动或停止的作业.我发现CentOS 6没有“发出”关于运行级别的任何内容. (也没有尝试过其他一些常见事件.’).查看调试作业在/tmp/log.file中创建的日志文件非常有用.通过更改我的脚本的开头:

start on runlevel [345]

start on started sshd

我的所有工作似乎都正常启动.这是后方的痛苦,因为我发现的每个例子都使用了以前的语法.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。