这是我第一次与暴发户一起使用EC2。
os/upstart = aws base AMI latest version - upstart-0.6.5-13.3.13.amzn1.x86_64
在等待网络启动时,我无法获得以下脚本来启动。如果使用标准,它就能工作。
start on runlevel [2345]
stop on runlevel [!2345]我也尝试过各种组合
start on filesystem and net-device-up IFACE=eth0
start on filesystem and net-device-up IFACE!=lo如有任何建议,将不胜感激。
description "test for on network start"
start on (started network-interface
or started network-manager
or started networking)
stop on (stopping network-interface
or stopping network-manager
or stopping networking)
script
touch /home/ec2-user/myFile.txt
end script 发布于 2014-06-20 21:12:27
Upstart是一个基于事件的系统。要使工作在正确的阶段执行,可能需要等待其他启动作业(S)发出的特定事件(S)。
可能的解决方案将因系统而异,并将取决于如何定义新启动的作业以及它们发出的事件。它还可能取决于安装在系统上的新启动版本。
请注意,upstart可能不会将它的日志写入/var/log/upstart。早期版本可能使用syslogd,而较新版本更可能将日志写入/var/log/upstart。
以下解决方案只适用于问题中提到的系统类型:
os/upstart = aws base AMI latest version - upstart-0.6.5-13.3.13.amzn1.x86_64在这个系统上,upstart没有在任何地方记录作业echo语句。因此,这部分可能需要额外的配置。
职务定义:
description "testjob"
start on started elastic-network-interfaces
script
echo $(ping -c 1 serverfault.com) > /var/log/testjob.log
end script在真实的EC2实例上进行测试:
# cat /var/log/testjob.log
PING serverfault.com (198.252.206.140) 56(84) bytes of data. 64 bytes from stackoverflow.com (198.252.206.140): icmp_seq=1 ttl=51 time=72.9 ms --- serverfault.com ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 73ms rtt min/avg/max/mdev = 72.950/72.950/72.950/0.000 ms发布于 2014-11-12 23:32:18
你的例子非常接近。
Amazon将他们的网络服务称为network。因此,如果您试图使用upstart控制的应用程序/服务需要网络连接,请执行以下操作:
start on (runlevel [345] and started network)
stop on (runlevel [!345] or stopping network)您不需要运行级位,但是能够根据运行级别的环境限制服务的运行并不是个坏主意。
https://serverfault.com/questions/606882
复制相似问题