Ubuntu ブート カスタム スクリプト起動 (最も完全なバージョン)

1. 背景

        コンパニオンはシステム環境を頻繁に更新するため、reboot コマンドを使用して頻繁に再起動する必要がありますが、バックエンド Jar は再起動するたびに停止し、Web バックエンド Jar パッケージは再起動するたびに手動で起動する必要があります。 。この状況を受けて、時間を節約するために起動時に Jar パッケージを自動的に起動する方法を使用することを考えました。

2. 詳細な手順

        1. コンピュータの電源を入れたときに自動的に実行するコマンドを記述します。

         スクリプトをインストールするディレクトリに移動し、次のコマンドを実行してスクリプトの内容を編集します。

vim start.sh

        たとえば、起動後に Jar パッケージを自動的に起動したいと考えており、その内容は次のとおりです。

#!/bin/bash
export JAVA_HOME=lib/jvm/java-1.8.0-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
cd /home/work/
#source /etc/profile    
echo "jar 包开始部署"
nohup java -jar web.jar >/home/work/nohup.out 2>&1 &
echo "部署命令已执行"

        スクリプト コンテンツのエクスポート行は、Java 環境を提供するためのものです。スクリプトの実行後も java コマンドが見つからない場合は、jar package コマンドを実行する前に、上記のコード セグメント内のsource /etc/profile を実行する必要があります。(/etc/profileにJAVA_HOME、PATH、CLASSPATH等の環境変数が設定されていることが前提です)

        2. 権限付与スクリプト

         後で実行できないように、スクリプトの権限をリセットする必要があります。

chmod 777 start.sh

        3. 開始する新しいサービス ファイルを作成します

vim /etc/systemd/system/start.service

        start.service で以下を編集します

[Unit]
Description=*****************  //你对这个服务的描述
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/start.sh   //刚才创建的start.sh路径
[Install]
WantedBy=multi-user.target

        4. カスタマイズしたばかりのサービス ファイルをシステムに取得させ、起動時に開始するように設定します。

systemctl daemon-reload
systemctl start start.service

        5. ログを表示する

        起動に成功した場合はプロンプト情報は表示されませんが、起動に失敗した場合は、次のコマンドを使用してサービスの状態を確認する必要があります。プロンプト情報に従って変更します。

systemctl status start.service

                     来て!この問題はほぼ解決されました!今日はとてもいい表情してますね!お水を飲みに行きましょう〜

おすすめ

転載: blog.csdn.net/ny19000314/article/details/128833491