更改EC2服务器上的Upstart服务configuration文件不会导致Upstart重新加载它们。 我想这是由于EC2的fs的networking性质。 我能做什么?
我在init.d中有许多服务,这些服务是简单的单行命令,每隔几秒就会重复一次。 他们的模板如下所示: 例如 #!/bin/sh autostart() { while true do $@ ; sleep 20 done } case "$1" in start) echo " started" autostart /path/to/checksomethingquickly ;; stop) me=`basename $0` killall checksomethingquickly $me ;; esac ## End of File 这个“服务”的关键是每20秒钟就要调用一次checkmethick。 (因此cron的速度太快了。)我们希望它在被告知时启动,并在告知停止时杀死所有正在运行的实例。 在我看来,它可能是一个暴发户的“任务工作”,但我不清楚如何确保这个任务无限期的重复,并分隔20秒。 确保它的序列化也是一个很好的改进。 这是可以变成一个暴发户脚本的脚本? 如果是这样,怎么样?
我想在启动时运行jenkins Java应用程序,作为jenkins用户运行。 我有一个新的conf文件位于/etc/init/jenkins.conf以下内部它。 description "Jenkins daemon" start on startup stop on shutdown task setuid jenkins setgid jenkins java -jar /usr/local/lib/jenkins/jenkins.war 运行服务jenkins开始只是挂起。 我已经尝试过无数的新贵内部组合,但找不到可用的集合,每次挂起。 是否有任何错误报告,我可以看看发生了什么问题? 作为jenkins用户login,我可以用该命令启动应用程序。
我有一个暴发户脚本,执行以下操作 start on runlevel [2345] stop on runlevel [06] respawn pre-start script exec >/dev/kmsg 2>&1 [email protected]:blabla/bli mkdir -p /var/log mkdir -p /var/www echo "Fetching app from $REPO" girror $REPO /var/www if [ -f /var/www/package.json ]; then echo "Installing npm modules" cd /var/www npm install fi end script post-stop script exec >/dev/kmsg 2>&1 echo "stopped" end […]
我在我的AWS实例的/etc/init/my-project.conf使用以下脚本。 description "start and stop the go program 'my-project'" start on filesystem or runlevel [2345] stop on runlevel [!2345] env USER='ec2-user' env APP_DIR='/home/ec2-user/go/src/bitbucket.com/xxx/my-project/' env APP_EXEC='my-project' exec start-stop-daemon —start —chuid ${USER} —chdir ${APP_DIR} —exec ${APP_DIR}${APP_EXEC} service my-project start命令给unrecognized service错误。 sudo start my-project启动一个不是我的项目的过程。 当我运行sudo status my-project命令时,我得到了my-project stop/waiting 。 我找不到我做错了什么。 在path/home/ec2-user/go/src/bitbucket.com/xxx/my-project/有一个名为my-project的可执行文件。 所以基本上/home/ec2-user/go/src/bitbucket.com/xxx/my-project/my-project运行可执行文件。
我有rsyslog设置正确转发一组客户端上的所有日志到中央服务器。 像sshauthentication日志等工作正常,并出现在远程服务器正常。 问题是,我有我的应用程序定制新贵的作业login到/var/log/upstart/app-name.log,我不知道如何获得rsyslog发送到中央服务器的东西。 我监视了networkingstream量,并且日志行甚至没有发送,所以这不是接收服务器有某种filter的问题,客户端甚至不尝试。 有任何想法吗? 我在新贵中使用标准console log节(尽pipe它在现代ubuntu中是默认的)。 我的客户rsyslogconfiguration是香草,除了: #send to logging server *.* @10.0.0.74:514 它位于默认文件的顶部,适用于所有标准日志事件。 有什么想法吗?
我无法通过暴发户启动一个lighttpd fastcgi python应用程序。 我可以使用sudo lighttpd -D -f /path/to/lighttpd.conf并通过su -c "lighttpd -f /path/to/lighttpd.conf成功启动应用程序。 暴发户,我使用以下脚本: start on filesystem and started networking stop on runlevel [06] respawn exec lighttpd -f /path/to/lighttpd/lighttpd.conf -D 这会在/var/log/lighttpd/error.log中导致以下错误: 2011-11-28 15:35:25: (mod_fastcgi.c.978) bind failed for: unix:/var/lib/lighttpd/sockets/fastcgi.python.socket-0 Permission denied 2011-11-28 15:35:25: (mod_fastcgi.c.1399) [ERROR]: spawning fcgi failed. 2011-11-28 15:35:25: (server.c.938) Configuration of plugins failed. Going down. […]
RHEL6是否支持新用户的工作? 我修改了/etc/dbus-1/system.d/Upstart.conf并为我的用户名添加了一个策略部分。 然后我创build了~/init.d/userjob.conf 。 当我做inictrl list它不显示。 RHEL6支持这个吗? 如果是这样我怎么debugging呢?
我只是做了上面提到的升级,但它似乎像systemd不工作,因为它应该。 如果我运行像systemctl start apache2这样的命令,我会收到消息 无法连接到总线:没有这样的文件或目录 奇怪的service apache2 start仍在工作。 我不得不两次开始升级,因为第一次出错了,所以我认为这可能与此有关。 有没有办法手动从新贵切换到systemd同时保持所有的工作服务?
我的MongoDB服务器死了。 日志说了一些关于不清洁关机和现有的mongodb.lock文件。 它build议删除locking文件,然后用–repair重启mongodb服务器。 但是,在我的系统(Ubuntu 10.10)上,我通过apt-get软件包安装了MongoDB,并将其设置为Upstart作业。 如果我从命令行运行mongodb ,它将不会find数据,没有任何path设置正确。 当然,我可以阅读手册页,尝试模仿Upstart会做什么,给它所有正确的参数加上 – –repair但这似乎是一个很大的麻烦。 必须有一个更简单的方法,那就是不要与新贵搏斗。 它是什么?