新贵脚本:网络启动后运行任务

Jou*_*eek 23 ubuntu upstart ubuntu-10.04

我正在努力将我当前的服务器设置移动到更新的硬件,并从 ubuntu karmic koala 迁移到 lucid lynx。目前我正在使用 gw6c(从 gogo6 网站编译,而不是来自存储库的版本)为我的系统获取 ipv6 访问权限。在 karmic koala 系统上,我使用了简单的 init.d 脚本来启动 ipv6 客户端

 #! /bin/sh
/usr/local/gw6c/bin/gw6c -f /usr/local/gw6c/bin/gw6c.conf
Run Code Online (Sandbox Code Playgroud)

我想既然它在任何运行级别运行,它应该转换为

respawn
console none

start on startup

stop on shutdown

script
exec /usr/local/gw6c/bin/gw6c -f /usr/local/gw6c/bin/gw6c.conf
emit free6_ipv6_started
end script
Run Code Online (Sandbox Code Playgroud)

这从 initctrl 开始工作正常,但它在启动时显然无法启动。- 其状态为停止/等待。以其他方式开始时它工作正常(并重新生成)。关于我哪里出错的任何想法,以及适当的“开始”争论是什么?

编辑:确切的错误是“init:gw6c 主进程(xxx)以状态 8 结束”,然后是进程重新生成,xxx 是我怀疑的 PID。我也有一半怀疑这是因为 gw6c 在联网之前启动,我需要在 gw6c 之前启动我的 eth0

Jou*_*eek 27

显然

respawn
console none

start on (local-filesystems and net-device-up IFACE!=lo)
stop on [!12345]

script
chdir /usr/local/gw6c/bin/

exec /usr/local/gw6c/bin/gw6c 
end script
Run Code Online (Sandbox Code Playgroud)

似乎工作