Running scripts on startup/shutdown @Ubuntu

Hi,

As I’m using RxTx libraries for serial communication and I couldn’t handle the locks and permissions on the ports when Tomcat closes( please comment if you know:)), I need to remove locks and give appropriate permissions to ports on startup. Today I saw a post @  http://embraceubuntu.com/2005/09/07/adding-a-startup-script-to-be-run-at-bootup/ and I tried it on my pc. I’m using Ubuntu 11.10.

First write your script and make it executable and move it to /etc/init.d/.

$ chmod +x /home/gokceng/Desktop/myScript.sh

$ sudo cp /home/gokceng/Desktop/myScript.sh /etc/init.d/

$ sudo update-rc.d  myScript.sh start 99 2 3 4 5 .

The parameters on the last line:

myScript.sh : your script to run

start : When your script run, it can be  stop

99 : On start in this scenario, it makes your script to run after everything. It could be 1 for being first or anything between 1 and 99.

2 3 4 5 : run levels of your  script

. : Don’t forget to put this 🙂

My script is like that, it is useless but it is only for explanation:

### BEGIN INIT INFO
# Provides: myScript
# Required-Start: $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO
#!/bin/bash
sudo chmod 666 /home/gokceng/Desktop/myTest

The lines between BEGIN INIT INFO and END INIT INFO is for getting “missing LSB information” error. You can get more information about these lines from http://wiki.debian.org/LSBInitScripts

For more compact way of running your script both on startup and shutdown you can also use this:

update-rc.d yourScript start 20 2 3 4 5 . stop 20 0 1 6 .

You can see other usages check this link: http://translated.by/you/man-update-rc-d-8-install-and-remove-system-v-style-init-script-links/original/

I hope it helps you.