After updating some stuff on one of my debian-servers it ignores "some" of the scripts it should run at startup (from "init.d").

For example Postfix, Memcached or other daemons are startet, but "Apache2", "Cron" and others are not. I can't find any error in logfiles that indicate the start has failed, so i guess it was never triggered.

Any idea where to look? :(

edit: output from sysv-rc-conf looks good to me and shows that Apache and Cron should be started just like Postfix etc...

Any further ideas?

edit / solution: i moved everything that did not start properly to "S19..." in rc2.d and now all i need is running after reboot. But I am still clueless what was the problem before...

link|improve this question
feedback

3 Answers

You can use sysv-rc-conf utility. It shows you all scripts found in /etc/init.d/ folder in rows. The columns represent the different run levels. You can (un)mark a cell in the table and the corresponding link is (de)activated.

On debian-based systems, you can also use update-rc.d. On redhat-like systems, you can use chkconfig. If the relevant links are there, the scripts should be invoked at startup.

link|improve this answer
yes, all the links are present in rc2.d and rc3.d. But some are excecuted, some are not. this is what puzzels me :( sysv-rc.conf is a great tool. Everything looks fine there though. I'll post a screenshot soon – Sebastian Dec 31 '11 at 19:47
feedback

Scripts in init.d are only executed if they're supposed to run at the particular run level. Most Linux distributions use symbolic links from /etc/rcX.d, where X is the run level, to select which scripts are executed. Your distribution may also provide a tool to manage these links.

link|improve this answer
yes, all the links are present in rc2.d and rc3.d. But some are excecuted, some are not. this is what puzzels me :( – Sebastian Dec 31 '11 at 19:44
feedback

One place to check is the /etc/default/servicename file (where servicename is the name of the service not starting).

Some init scripts will have an option in that file which controls the daemon starting which defaults to no so that it forces you to at least look at the configuration before starting the daemon.

Apache2 and cron don't have this setting from memory but perhaps some of the "others" you referred to might use it.

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.