Tomcatがインストールされているec2システム/redhatがあります。私はec2-userではなくuserXだけがこのアプリケーションを起動したいと思います。ただし、再起動後、ec2は自動的にec2-userで始まります。 userXにstartup.sh
自動的にコマンドを実行させるにはどうすればよいですか?現在はuserXでログインして手動で行っています。bash /opt/tomcat/bin/startup.sh
ありがとうございます。
答え1
作るシステムサービスUser=userX
サービス定義にあります。有効にすると、systemdは起動時に起動します。
答え2
ファイルの作成/etc/systemd/system/whatever.service
このファイルの内容は次のように簡単です。
[Unit]
Description=<whatever>
After=default.target
[Service]
Type=idle
User=<USERX>
Group=<GROUPX>
ExecStart=/opt/tomcat/bin/startup.sh
TimeoutStartSec=0
[Install]
WantedBy=default.target
作成したカスタムシステムサービスファイルの所有権と権限を設定します。
chown root.root /etc/systemd/system/whatever.service
chmod 644 /etc/systemd/system/whatever.service
実行中のサービスの所有権と実行権限を設定します。
chown USERX.GROUPX /opt/tomcat/bin/startup.sh
chmod 750 /opt/tomcat/bin/startup.sh
sysytemctl daemon-reload
systemctl enable whatever.service
whatever.service
作成したカスタムファイルで設定できるすべての項目については、他のポスターのシステムサービス説明リンクを参照してください。名前を好きなように変更してください。