Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Usługa systemd do wyłączania innego komutera - problem
#1
0
Mam problem związany ze stworzeniem usługi systemd, która automatycznie wyłączyłaby
inny komputer (z oprogramowaniem do synchronizacji plików - syncthing).
Chciałbym, żeby przy wyłączaniu mojego głównego komputera (Linux Mint 21.3 Cinnamon)
automatycznie wyłączać "serwer" z syncthing.
Serwer stoi na Ubuntu 22.04 LTS na Raspberry PI 4.


Kroki, które podjąłem - kod skryptu bash:
Kod:
#!/bin/bash
USER="root"
HOST="raspberrypi.local"
ssh -i /home/kola/.ssh/id_rsa $USER@$HOST "shutdown -h now"
Skrypt działa poprawnie (próbowałem na koncie użytkownika - kola
i po sudo su na koncie root'a - działa za każdym razem).


Plik z kodem usługi systemd:
Kod:
[Unit]
Description=My shutdown script
Requires=network.target local-fs.target nss-lookup.target
[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/home/kola/syncthing/skrypty/raspberry_OFF
[Install]
WantedBy=multi-user.target


Prawdopodobnie powyżej coś robię źle (ale próbowałem też innych opcji w [Install] typu shutdown.target, halt.target ..., oczywiście dając wtedy skrypt do ExecStart ... kombinowałem też z zależnościami, ogólnie wszystko co znalazłem gdzieś na forach, ale nic z tego nie działa).

Usługa oczywiście aktywowana w systemie:
Kod:
root@desktop1:/home/kola# sudo systemctl status before_shutdown.service
● before_shutdown.service - My shutdown script
    Loaded: loaded (/etc/systemd/system/before_shutdown.service; enabled; vend>
    Active: active (exited) since Sat 2024-04-06 23:10:48 CEST; 29min ago
    Process: 1094 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
  Main PID: 1094 (code=exited, status=0/SUCCESS)
        CPU: 597us
kwi 06 23:10:48 desktop1 systemd[1]: Starting My shutdown script...
kwi 06 23:10:48 desktop1 systemd[1]: Finished My shutdown script.


Prawdopodobnie (tak myślę, mogę się mylić bo pomysły mi się wyczerpały) jakiś zależności mi brakuje najpewniej
patrząc na błąd coś z rozpoznawaniem nazw sieciowych (przy czym próbowałem różnych
konfiguracji) - ale w Requires mam nss-lookup.target ... .


Przykładowe logi z journalctl -u before_shutdown.service

Kod:
-- Boot 296c12278521492d9972b2ab84b1f3d7 --
kwi 07 00:17:55 desktop1 systemd[1]: Starting My shutdown script...
kwi 07 00:17:55 desktop1 systemd[1]: Finished My shutdown script.
kwi 07 00:19:39 desktop1 systemd[1]: Stopping My shutdown script...
kwi 07 00:19:39 desktop1 raspberry_OFF[4386]: ssh: Could not resolve hostname r>
kwi 07 00:19:39 desktop1 systemd[1]: before_shutdown.service: Control process e>
kwi 07 00:19:39 desktop1 systemd[1]: before_shutdown.service: Failed with resul>
kwi 07 00:19:39 desktop1 systemd[1]: Stopped My shutdown script.
-- Boot b32ef47f510440cd9852f1c3d6304397 --
kwi 07 00:20:24 desktop1 systemd[1]: Starting My shutdown script...
kwi 07 00:20:24 desktop1 systemd[1]: Finished My shutdown script.
kwi 07 00:22:00 desktop1 systemd[1]: Stopping My shutdown script...
kwi 07 00:22:01 desktop1 raspberry_OFF[4614]: ssh: Could not resolve hostname r>
kwi 07 00:22:01 desktop1 systemd[1]: before_shutdown.service: Control process e>
kwi 07 00:22:01 desktop1 systemd[1]: before_shutdown.service: Failed with resul>
kwi 07 00:22:01 desktop1 systemd[1]: Stopped My shutdown script.
-- Boot d400aae6994f4a249b4657ce2debd055 --
kwi 07 00:22:47 desktop1 systemd[1]: Starting My shutdown script...
kwi 07 00:22:47 desktop1 systemd[1]: Finished My shutdown script.
kwi 07 00:25:00 desktop1 systemd[1]: Stopping My shutdown script...
kwi 07 00:25:00 desktop1 raspberry_OFF[4744]: ssh: Could not resolve hostname r>
kwi 07 00:25:00 desktop1 systemd[1]: before_shutdown.service: Control process e>
kwi 07 00:25:00 desktop1 systemd[1]: before_shutdown.service: Failed with resul>
kwi 07 00:25:00 desktop1 systemd[1]: Stopped My shutdown script.
-- Boot ec2e405374c0454ea7239b200af02f6f --
kwi 07 00:25:46 desktop1 systemd[1]: Starting My shutdown script...
kwi 07 00:25:46 desktop1 systemd[1]: Finished My shutdown script.


Jak ktoś wiedziałby co jest do zmiany, to proszę o pomoc.
Odpowiedz


Wiadomości w tym wątku
Usługa systemd do wyłączania innego komutera - problem - przez user001 - 07-04-2024, 00:36

Skocz do:




Użytkownicy przeglądający ten wątek: 4 gości