[CentOS] how to do startup scripts?

John R Pierce pierce at hogranch.com
Mon Dec 7 20:10:50 UTC 2009


Roland Roland wrote:
> Hello,
>  
> I've just finished installing Atlassian's bamboo 
> <http://www.atlassian.com/software/bamboo/>
> it comes with two ways to start it up one through a bash shell script 
> bamboo.sh
> and another through java script (this one is better as it has the 
> ability to start up the service if it got shutdown for any reason)
>  
> so I'm wondering how can I set this service to start on boot..
> I know how to set a script on login in my profile though not on boot..
>  
> any suggestion?
> I've looked around about none interactive shells and so on.. so if I 
> did a symbolic link from bamboo.sh script to /etc/init.d would that work?
> what about variables inside the script would they b read ?
>  
> obviously a newbie here so appreciate any detailed explanation if 
> possible about interactive/ none interactive shells and of course if 
> theres an advice about how to solve this issue..
>  
> PS: trying to educate myself about linux along the way so any 
> explanation would be greatly appreciated...

you need to write a script for /etc/init.d that takes an argument 
"stop", "start", and optionally "restart" and/or "reload".

this script can either call that bamboo.sh script or just contain a copy 
of it as the 'start' part (I'd go with the latter if its really simple)

do remember, you have to set up any environment this process may needmay 
need.  DO NOT ASSUME ANY LOGIN ENVIRONMENT.

Take a look at /etc/init.d/smartd  as an example init script, as this is 
a fairly simple one.

your script should have a comment on top something like...

    #!/bin/sh
    #
    # bamboo       Starts the bamboo service
    #
    # chkconfig:   345 05 95
    # description:   blahblah blahdablah blah
    # ....

the important line there is chkconfig:   whihc in this case says, by 
default you want this service run at run levels 3,4,5, and it is to be 
started at priority 05 and stopped at priority 95
(lower means sooner ni the order of things)

after putting that script in /etc/init.d, then...

    service bamboo {start|stop}

will manuallly start/stop this service, and

    chkconfig bamboo on

and that will configure it to run at startup per those chkconfig options.



More information about the CentOS mailing list