linux起動スクリプト作成


スクリプトの起動は、linuxのメンテナンス作業でよく使われるスキルです.今日は2つの一般的な方法を紹介します.
システムプラットフォーム:RHEL 6.4
主な目的は自分でテストすることです.
一、編集/etc/rc.d/ディレクトリの下のrc.localファイル.
    #vi/etc/rc.d/rc.local
#!/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

これはrcです.localファイルの下にはもともとある内容で、initのすべての実行レベルスクリプトが完了した後にスクリプトが実行されることがわかります.
追加方法:
Step 1:スクリプトを編集し、実行権限(~/test.pl)を追加する.
Step 2:etc/rc.localの末尾に実行スクリプトの絶対パスを追加します.
    
    #vi test.pl
#!/bin/sh
#mkdir -p /run/run1
if [ -d '/run/run1' ]
then
        echo "the dir exist"
else
        mkdir -p /run/run1
        cd /run/run1
        touch a.txt
        echo "file create success!"
fi

    #chmod u+x test.pl
絶対パス/etc/rc.d/test.plを/etc/rcに追加する.d/rc.localの末尾.
二、/etc/init.dディレクトリの下にスクリプトを追加します.
Step 1:testのようにスクリプトを書きます.pl、それを/etc/initに置きます.dで、実行権限を追加します.
            rc{0--6}.d各システム実行レベルにおいて、関連サービスの起動状態(K(offクローズ状態)/S:起動状態)
    step2:/etc/rc.d/init.d/ディレクトリの下でサービススクリプトを追加
例えば、サービススクリプト/etc/rcを作成する.d/init.d/test.pl
        #ln -s/etc/rc.d/init.d/etc/rc.d/rc5.d/S98test.pl//スクリプトリンクディレクトリを作成し、Sは起動を表し、60は起動順序を表す.
例:
1、linuxの下にapacheサービス(httpd-2.2.23.tar.gzカスタムインストール)、apacheサービス起動コマンド:/usr/local/apache 2/bin/apachectl startをインストールした.apacheサービスを実行レベル3の下で実行させます.コマンドは次のとおりです.
 
   1)touch/etc/rc.d/init.d/apache
    #vi/etc/rc.d/init.d/apache
    #chown -R root/etc/rc.d/init.d/apache
    #chmod 700/etc/rc.d/init.d/apache
    #ln -s/etc/rc.d/init.d/apache/etc/rc.d/rc3.d/S60apache  
apacheの内容:
    #vi/etc/rc.d/init.d/apache      
    #!/bin/bash
    #Start httpd service
    /usr/local/apache2/bin/apachectl start

(apacheのインストールパス)
     
これでapacheサービスは、実行レベル3でランダムに自動的に起動できます.(chkconfigと組み合わせて起動サービスを調整できます)