Właśnie zaktualizowałem serwer z Ubuntu 14.10 do 15.04, a kilka usług, które uruchamiam za pomocą niestandardowych skryptów upstart, już nie działa.
Rozumiem, że muszę ponownie napisać je jako systemd
usługi, ale myśl o nauce całego systemd
systemu z dnia na dzień jest nieco zniechęcająca.
Skrypt początkowy po prostu uruchamia się autossh
przy starcie, a ja mam kilka innych podobnych skryptów, które uruchamiają długotrwałe procesy.
#/etc/init/autossh.conf
description "Maintain a permanent SSH tunnel to <other_server>"
start on started mountall
stop on shutdown
exec autossh -N other_server
Jak mogę ponownie napisać to jako systemd
usługę?
Odpowiedzi:
pierwsza reguła migracji do systemd
W tym momencie w 2015 roku najprawdopodobniej ktoś już to zrobił.
Systemd istnieje już od kilku lat. I istnieje cała chata ludzi, którzy piszą pliki jednostek i publikują je. W szczególności GitHub wydaje się przyciągać repozytoria kolekcji jednostek usługowych.
Rzeczywiście po prostu
autossh.service
pojawia się wyszukiwanie w sieci (jako fraza):jednostka szablonu
To powiedziawszy, jak wskazałem w kilku miejscach na samym StackExchange, ten rodzaj migracji nie jest procesem mechanistycznym, a czasami po prostu automatyczne tłumaczenie z tego, co ktoś ma na plik jednostkowy, robi coś źle, a przynajmniej źle. W tym przypadku
autossh
pozytywnie dyszy do obsługi za pomocą jednostki szablonu , że jest on tworzony w rzeczywistych jednostkach usługowych, parametryzowanych przez nazwę celu. Tak jak/etc/systemd/system/[email protected]
mają:Utwórz plik o nazwie
/etc/autossh/other_server.example.conf
minimalnie:Obowiązują wówczas wszystkie zwykłe kontrole:
systemctl enable autossh@other_server.example
- Włącz automatyczne uruchamianie instancji podczas ładowania początkowego.systemctl start autossh@other_server.example
- Ręcznie uruchom tę instancję natychmiast.systemctl status autossh@other_server.example
- Zobacz jego status.I tak, nawet pierwsza zasada ma do tego zastosowanie. Szukając, okazało się, że zostałem do tego pobity, tuż przed dwoma tygodniami, przez Grega Freemyera z OpenSUSE.
źródło