Я только что обновил сервер с Ubuntu 14.10 до 15.04, и несколько сервисов, которые я запускаю с помощью пользовательских сценариев upstart, больше не работают.
Насколько я понимаю, мне нужно переписать их как systemd
сервисы, но мысль об изучении всей systemd
системы в одночасье немного устрашает.
Сценарий upstart просто запускается autossh
при запуске, и у меня есть пара других подобных сценариев, которые запускают долго выполняющиеся процессы.
#/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
Как я могу переписать это как systemd
услугу?
Ответы:
первое правило для перехода на systemd
На данный момент, в 2015 году, скорее всего, кто-то уже сделал это.
systemd существует уже несколько лет. И была целая индустрия людей, которые писали файлы и публиковали их. GitHub, в частности, похоже, привлекает хранилища коллекций сервисных единиц.
Действительно, простой поиск в WWW
autossh.service
(как фраза) приводит к:блок шаблона
Тем не менее, как я уже отмечал в нескольких местах только на StackExchange, этот вид миграции не является механистическим процессом, а иногда просто роботизированный перевод того, что у вас есть, в файл модуля делает что-то неправильно или, по крайней мере, плохо. В этом случае
autossh
положительно задыхается, чтобы быть обработанным с модулем шаблона , что это экземпляр в фактических единицах обслуживания, параметризованных целевым именем. Так как/etc/systemd/system/autossh@.service
, есть:Создайте файл с именем
/etc/autossh/other_server.example.conf
, минимально:Затем применяются все обычные элементы управления:
systemctl enable autossh@other_server.example
- Разрешить автоматический запуск экземпляра при загрузке.systemctl start autossh@other_server.example
- Запустите этот экземпляр немедленно.systemctl status autossh@other_server.example
- Смотрите его статус.И да, первое правило даже относится к этому. В поисках можно обнаружить, что меня чуть не две недели избил Грег Фримиер из OpenSUSE.
источник