systemdを使用してリモートの2番目のシステムでアプリケーションを起動する方法

systemdを使用してリモートの2番目のシステムでアプリケーションを起動する方法

問題は、systemd2番目のリモートシステムでサービスを開始できますか?です。

想像する:

アプリケーション3X名は、app1 app2 app3マシン2X名と呼びます。 ms1とms2と呼びます。

----MS1---------MS2
----app1--------app3
----app2------------

同様のサービスを作成しました。

アプリケーションサービス

[Unit]
Description=Application
[Service]
# The dummy program will exit
Type=oneshot
# Execute a dummy program
ExecStart=/bin/true
# This service shall be considered active after start
RemainAfterExit=yes
[Install]
# Components of this application should be started at boot time
WantedBy=multi-user.target 

申請1.サービス

[Unit]
Description=Application Component 1
# When systemd stops or restarts the app.service, the action is propagated to this unit
PartOf=app.service
# Start this unit after the app.service start
After=app.service
[Service]
# Pretend that the component is running
ExecStart=/bin/sleep infinity
# Restart the service on non-zero exit code when terminated by a signal other than SIGHUP, SIGINT, SIGTERM or SIGPIPE
Restart=on-failure
[Install]
# This unit should start when app.service is starting
WantedBy=app.service

アプリケーション2.サービス

[Unit]
Description=Application Component 2
PartOf=app.service
After=app.service
[Service]
ExecStart=/bin/sleep infinity
Restart=on-failure
[Install]
WantedBy=app.service

アプリケーション3.サービス

[Unit]
Description=Application Component 3
PartOf=app.service
After=app.service
# This unit should start after the app-component2 started
After=app-component2.service
[Service]
ExecStart=/bin/sleep infinity
Restart=on-failure
[Install]
WantedBy=app.service

app3.service2台目のコンピュータを初期化するにはどうすればよいですか?可能ですかsystemd、それともスクリプトが必要ですか?

ベストアンサー1

~によるとhttps://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/system_administrators_guide/index#sect-Managing_Services_with_systemd-Remote(更新されたリンク)実際にこれを行うことができますが、試したことはありません。 SSHベースなので、ファイルでどのように使用するのかapp3.serviceわかりませんssh -i /path/to/ssh_key user@host systemctl start real_service

おすすめ記事