我在Ubuntu 15.10上通过init.d脚本启动我的TeamCity代理,如下所示: #!/bin/sh ### BEGIN INIT INFO # Provides: TeamCity Build Agent # Required-Start: $remote_fs $syslog # Required-Stop: $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Start build agent daemon at boot time # Description: Enable service provided by daemon. ### END INIT INFO USER="myuser" case "$1" in […]
我在MediaTemple(ve)服务器上运行Ubuntu 9.10和10.04。 在他们两人之间, anacron设置被打破,…自从我第一次安装Ubuntu以来,它们已经被破坏了。 最近才发现我的日志文件没有旋转。 我希望有一个工作的人可以帮助诊断问题并提出修复build议。 这里是/etc/cron.d/anacron …这部分工作正常:每天早上7:30, cron执行这个命令启动anacron。 # /etc/cron.d/anacron: crontab entries for the anacron package SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 30 7 * * * root test -x /etc/init.d/anacron && /etc/init.d/anacron start >/dev/null 问题是/etc/init.d/anacron start失败: # /etc/init.d/anacron start >/dev/null start: Unknown job: anacron 请注意,/etc/init.d/anacron是到/ lib / init / upstart-job的符号链接: # ls -l /etc/init.d/anacron lrwxrwxrwx 1 root […]
我很好奇告诉启动脚本执行某些参数的标准方法是什么。 例如在MySQL中,有my.cnf,从我所知道的来说,启动参数是由my.cnf中指定的configuration选项派生的(即–bind-address=127.0.0.1对应于我的bind-address选项.cnf文件等)。 我总是认为每个守护进程/服务都会在/etc/<some_app>有一个configuration文件,并且这些启动选项是由它决定的。 然而,我遇到了几个守护进程/服务,我无法find在哪里/如何确定要启动的参数。 /etc/init.d/<some_script>通常有几个条件和通常的默认值,但我不确定这些启动选项在哪里确定。 几个例子是pure-ftpd和mediatomb ; 从init.d脚本无法知道如何定义参数:前者有一个conf/子目录,其中包含代表启动选项的文件(这些文件似乎是Debian / Ubuntu特定的configuration方法,因为apt包安装了pure-ftpd-wrapper引用这些conf文件的pure-ftpd-wrapper )。 使用mediatomb,只有一个config.xml文件。 我想这个问题可以被解释为:“如果你想要改变一个典型的软件包安装的守护进程/服务应用程序在类似Debian的系统上的启动选项,你应该在哪里看?
Linuxpipe理不是我的事情,所以我有点在我的头。 系统信息: / proc / version – > Linux版本2.6.18-028stab091.2 / etc / debian_version – > 5.0.8 每当服务器closures和重新启动,MongoDB不会上来。 看起来mongod没有干净的closures。 .lock文件仍然存在,我不能手动调出它,直到我删除这个并运行 – 修复。 如果我查看mongod的日志文件,我没有看到closures顺序,它只是从查询到启动。 Wed Jul 13 17:57:49 [conn1] update ps.profiles query: { blah blah blah } 224ms Thu Jul 14 07:07:51 MongoDB starting : pid=1167 port=27017 dbpath=/srv/db/ProfileServer 64-bit 我可以看到脚本已经到位来处理关机和重启: $ ls -l /etc/rc0.d/*mongodb lrwxrwxrwx 1 root […]
我想在一个实例被告知closures时运行一个PHP脚本,但是当它实际上完成closures之前。 我特别的脚本只是将一些日志文件从本地分区推送到另一台服务器。 我有这个过程如何工作的要点,但我需要一些澄清。 我怎么理解 如果我错了,请纠正我。 在/etc/init.d中创build一个可执行脚本(让我们把它叫做/etc/init.d/push-logs) 从/etc/rc0.d(shutdown)和/etc/rc6.d(重新启动)创build一个到/etc/init.d/push-logs的符号链接。 这个名字应该是KXXpush-logs 这是我的问题: 当然 – 我理解正确吗? 对于上面的#2,听起来像XX越低越好 – 是否可以使用的数字太低? 如果它与另一个脚本共享一个数字,这有什么关系吗? /etc/init.d/push-logs中的脚本是否遵循标准的init.d模板(支持start / stop等命令)? 这并不适用于我的用例。 如果可能的话,我只想要脚本如下: #!/bin/sh # # Run PHP file prior to shutdown # /usr/bin/php /path/to/php_file.php
我以前的问题显示,重新加载我的Debian GNU / Linux 6.0 nginx反向代理的configuration不起作用,而重新启动,或直接通过二进制重新加载确实工作。 我已经看了/etc/init.d/nginx文件,看看究竟会出现什么问题,但是由于这是从Nginx的Sergey Budnevitch写的,我不敢捣鼓它。 我可能旧版本的文件的内容: #!/bin/sh ### BEGIN INIT INFO # Provides: nginx # Required-Start: $network $remote_fs $local_fs # Required-Stop: $network $remote_fs $local_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Stop/start nginx ### END INIT INFO # Author: Sergey Budnevitch <[email protected]> PATH=/sbin:/usr/sbin:/bin:/usr/bin DESC=nginx NAME=nginx CONFFILE=/etc/nginx/nginx.conf […]
我创build了一个名为rmCluster的init.d脚本,它应该在关机时执行一个简单的python脚本,该脚本使用botoclosures特定的服务器群集,位于/etc/init.d/rmCluster 755 perms写为: #!/bin/sh # # chkconfig: 0 1 1 # description: My service # # Author: Me # # ### BEGIN INIT INFO # Provides: rmCluster # Required-Start: # Required-Stop: # Default-Start: 0 # Default-Stop: 0 # Short-Description: My service # Description: My service ### END INIT INFO case $1 in start) python /usr/local/sbin/instanceStopper.py […]
我是新人。 现在我尝试重新启动我的Tomcat服务。 它看起来像一个无法检测服务状态(开始/停止),不能(重新)启动它。 请告诉如何做诊断? 这里( rotor-app-01.dev是Tomcat主机, brutus-HP-ENVY-17是我的本地主机): [email protected]:~ $ sudo service tomcat stop Using CATALINA_BASE: /opt/vendor/tomcat Using CATALINA_HOME: /opt/vendor/tomcat Using CATALINA_TMPDIR: /opt/vendor/tomcat/temp Using JRE_HOME: /home/vendor/jdk1.6.0_45 Using CLASSPATH: /home/vendor/jdk1.6.0_45/lib/tools.jar:/opt/vendor/tomcat/bin/bootstrap.jar:/opt/vendor/webapps/app/config Using CATALINA_PID: /var/run/vendor/tomcat.pid Tomcat is stopped [ OK ] [email protected]:~ $ sudo service tomcat status Tomcat is stopped [ OK ] 现在Tomcat停止了。 让我们开始吧! brutus@brutus-HP-ENVY-17: ~/projects/rotor/devops $ ansible-playbook […]
我试图重新启动我的服务器上的Apache,但似乎并没有杀死所有的Apache当前运行的进程。 我正在使用的命令是 sudo /etc/init.d/apache2 restart 还有什么我应该做的,也会杀死所有的subprocess呢? 谢谢 约什·彭宁顿
在Ubuntu上,我将/etc/init.d/ skeleton作为新文件复制,并将其设置为“全部”可执行文件(就像该目录中的其他文件一样)。 在这里,我创build了一个“foo”,它是/usr/sbin另一个Bash脚本,但是它的特殊之处在于,它等待来自PHP网页的命名pipe道连接。 (更多细节在这里 ,虽然这是一个侧面的话题。) 因为它必须在命名pipe道连接上等待一个循环,所以这个命令显然挂在命令行上。 没什么大不了的,因为我真的希望它挂起来,等待一个新的连接。 但我不希望它发生在前台。 所以,我让start-stop-daemon使用–background选项。 好的,它对启动和状态非常有用,但是停止不起作用 – 它将内存中的命令以及我在/usr/sbin/foo Bash脚本中的cat /tmp/pipe命令留在内存中。 他们警告说,在start-stop-daemon命令中使用–background选项时会发生这种情况。 问题 那么,在start-stop-daemon –background运行时,正确停止/ usr / sbin / foo的正确方法是什么?以及停止可能调用的任何subprocess(例如cat / tmp / pipe命令)通过/ usr / sbin / foo? 我的意思是,我想我可以使用killall,但这是致命的。 也许你知道更有效的方法?