自動起動スクリプト
現在のプロジェクトでApache、Tomcat、PostgreSQLの自動起動スクリプトが必要となったのでメモ。
Apache Web Serverの自動起動スクリプト
Apacheの自動起動スクリプトは、ソースを展開したディレクトリ配下に存在する。今回は、/usr/local/srcでソースを展開したため、対象ファイルは以下の通り。
/usr/local/src/httpd-2.2.9/build/rpm/httpd.init
ただし上記ファイルは、RPMでインストールした場合の自動起動設定となっているので、インストール先に合わせて以下のように修正した。
No | 初期状態 | 変更後 |
1 | /etc/httpd | /usr/local/apache2 |
2 | /usr/sbin | /usr/local/apache2/bin |
su - cd /etc/init.d cp /usr/local/src/httpd-2.2.9/build/rpm/httpd.init ./httpd vi httpd # ここで修正 chmod 755 chkconfig --add httpd chkconfig httpd on chkconfig --list httpd httpd 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Tomcatの自動起動スクリプト
Tomcatの自動起動スクリプトは自作した。内容は以下の通り。
#!/bin/sh # # Startup script for the Apache Tomcat # # chkconfig: 35 80 15 # description: Apache Tomcat 5.5.26 # Source function library . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network TOMCAT_SCRIPT=/usr/local/apache-tomcat-5.5.26/bin/catalina.sh TOMCAT_USER=root [ -f $TOMCAT_SCRIPT ] || exit 0 # See how we were called. case "$1" in start) # Start daemons. if [ -f /var/lock/subsys/tomcat ] ; then echo "Tomcat already started!" exit 1 fi echo -n "Starting Tomcat: " su -s /bin/bash - $TOMCAT_USER -c "$TOMCAT_SCRIPT start" RETVAL=$? echo [ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat ;; stop) # Stop daemons. if [ ! -f /var/lock/subsys/tomcat ] ; then echo "Tomcat already stopped!" exit 1 fi echo -n "Shutting down Tomcat: " su -s /bin/bash - $TOMCAT_USER -c "$TOMCAT_SCRIPT stop" RETVAL=$? echo [ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat ;; *) echo "Usage: $TOMCAT_PROG {start|stop}" exit 1 esac exit 0
作成後はApacheの場合とほぼ一緒。
su - cd /etc/init.d vi tomcat # ここで上記内容のファイルを作成 chmod 755 chkconfig --add tomcat chkconfig tomcat on chkconfig --list tomcat tomcat 0:off 1:off 2:on 3:on 4:on 5:on 6:off
PostgreSQLの自動起動スクリプト
PostgreSQLの自動起動スクリプトも、ソースを展開したディレクトリ配下に存在する。
/usr/local/src/postgresql-8.3.3/contrib/start-scripts/linux
ただし、このままでは起動順序がTomcat、Apacheの後になってしまうため、起動順序に70を指定した。
#! /bin/sh # chkconfig: 2345 70 02 # description: PostgreSQL RDBMS # 以下省略
su - cd /etc/init.d cp /usr/local/src/postgresql-8.3.3/contrib/start-scripts/linux ./postgres vi postgres # ここで修正 chmod 755 chkconfig --add postgres chkconfig postgres on chkconfig --list postgres postgres 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Tomcatの自動起動スクリプトがかなり手抜きな感じがしてイヤな感じだけど、しばらくはこのままにしておこう。