Linuxサービスの自己起動構成とサービスへのスクリプトの追加

Linuxサービスの自己起動構成とサービスへのスクリプトの追加


  以前は、Webシステムが顧客の仮想マシンに展開されたときに、デスクトップコンピューターに展開されていました。顧客は、このコンピューターの電源を毎日オフにする必要があり、仮想マシンのオンとオフも切り替える必要があります。 。、しかし、お客様は仮想マシンとデプロイされたサービスを開始する方法を知らないため、サービスを自動的に開始するための簡単な構成方法を要約しました。
  例として、textserver.jarサービスの開始を取り上げます。まず、jdkなど、サービスを開始するための環境を構成する必要があります。ここでは、jdkのインストールと構成については説明しません。
次に、シェルスクリプトを作成する必要があります。

[root @ ecs-9fe2-0005 /]#vi /etc/rc.d/init.d/testserver

このコンテンツは、以下のスタートアップ.jarファイルのスクリプトコンテンツを参照できます。

#!/ bin / sh
#chkconfig:2345 80 90
RESOURCE_NAME = testserver.jar
NAME = testserver.log
tpid = ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'
if [$ {tpid}]; 次に、echo'StopProcess
… '
kill -9 $ tpid
fi
sleep 1
tpid = ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'
if [$ {tpid}]; 次に、
「Kill​​Process!」をエコーし​​ます。
kill -9 $ tpid
else
echo '成功を止めてください!'
fi

tpid = ps -ef|grep $RESOURCE_NAME|grep -v grep|grep -v kill|awk '{print $2}'
if [$ {tpid}]; 次に
echo 'アプリが実行されています。'
else
echo 'アプリが実行されていません。'
fi

rm -f tpid
nohup java -Xms512m -Xmx512m -Xmn128m -XX:PermSize = 128m -XX:MaxPermSize = 512m -jar /opt/test/server/jar/testserver.jar> / opt / test / server / log / $ NAME&
エコー$!> tpid
echo成功を開始します!
###終わり

この文には次のものが必要であることに注意してください。#chkconfig:2345 80 90
  スクリプトは/etc/rc.d/init.d/フォルダーに直接書き込まれ、/ etc / rc.d / init.d /ディレクトリはlinuです。システム設定一部のサービスの起動ディレクトリ。他のディレクトリに書き込んだり、このディレクトリにcpしたりすることもできます。ここでは、.jarファイルが実行可能であり、正常に開始できることを確認する必要があります。事前にjava-jarファイルname.jarから試すことができます。スクリプトファイルを実行して、jarサービスが正常に実行できるかどうかを確認することもできます。実行できない場合は、構成の自動開始は役に立ちません。正常に実行できる場合は、次の手順に進みます。
次のコマンドを引き続き入力して、ファイルにアクセス許可を追加し、スクリプトファイルを実行できるようにします。
root @ ecs-9fe2-0003〜] #chmod 755 /etc/rc.d/init.d/testserver

サービスにファイルを追加する
root @ ecs-9fe2-0003〜] #chkconfig --add /etc/rc.d/init.d/testserver

実行する必要のあるシェルスクリプトで記述されたディレクトリには、ディレクトリ権限を付与する必要があることに注意してください。そうしないと、ファイルにアクセスできないなどのエラーが報告されます。

構成が完了したら、コマンドを使用してサービスに追加されているかどうかをテストできます。コマンドは次のとおりです。
root @ ecs-9fe2-0003〜] #service testserver start

実行後、ポートまたはログをチェックして、ポートまたはログが有効になり、サービスが正常に実行されるかどうかを確認します。

サービスを停止するコマンドは次のとおりです。
root @ ecs-9fe2-0003〜] #service testserver stop

その後、サーバーを再起動してテストし、自動起動構成が成功したかどうかを確認できます。

おすすめ

転載: blog.csdn.net/weixin_38829640/article/details/114405358