Running commands and shell scripts on startup/boot
Do you need to run a set of commands or a shell script on CentOS / RHEL / Fedora startup? The easiest way to start a script upon boot is by adding the command to /etc/rc.local (a symbolic link to /etc/rc.d/rc.local). /etc//rc.local is a script executed after the initial startup services have been executed.
Hereâ€™s an example of the /etc/rc.local script:
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. touch /var/lock/subsys/local
Auto start services on startup/boot
To auto start services in Centos or Redhat OS, you can use builtin chkconfig utility. It is located in /sbin directory. If you are a regular user (non-root), then /sbin may not be in your path. Therefore, you may have to use the full path to access the chkconfig utility.
To auto start a new service:
- Find out the name of serviceâ€™s script from /etc/init.d/ directory e.g. mysqld or httpd
- Add it to chkconfig
sudo /sbin/chkconfig â€“add mysqld
- Make sure it is in the chkconfig.
sudo /sbin/chkconfig â€“list mysqld
- Set it to autostart
sudo /sbin/chkconfig mysqld on
To stop a service from auto starting on boot
- sudo /sbin/chkconfig mysqld off