a primeira regra para migrar para o systemd
Neste momento, em 2015, é mais provável que alguém já tenha feito isso.
Osystemd existe há alguns anos. E tem havido toda uma indústria caseira de pessoas escrevendo arquivos unitários e publicando-os. O GitHub, em particular, parece atrair repositórios de coleções de unidades de serviço.
Realmente, basta pesquisar na WWW por autossh.service
(como uma frase):
- Phillipp Klaus fazendo isso 2013
- Thomaz Fritz fazendo isso em 2014
- pessoas desconhecidas fazendo isso em 2013
uma unidade de modelo
Dito isso, como apontei em vários lugares no StackExchange sozinho, esse tipo de migração não é um processo mecanicista e, às vezes, apenas traduzir de forma robotizada o que se tem para um arquivo de unidade é fazer coisas erradas ou pelo menos mal. Nesse caso, autossh
está positivamente ansioso para ser tratado com uma unidade de modelo , que é instanciado em unidades de serviço reais, parametrizadas pelo nome de destino. Então, como /etc/systemd/system/[email protected]
, tenha:
[Unit] Description=AutoSSH service for a reverse tunnel from %i After=network.target [Service] User=autossh EnvironmentFile=/etc/%p/%i.conf ExecStart=/usr/bin/autossh -M 0 -q -N $SSH_USER@%i $SSH_OPTIONS [Install] WantedBy=multi-user.target
Crie um arquivo chamado /etc/autossh/other_server.example.conf
com, minimamente:
SSH_USER=joe
Todos os controles usuais se aplicam:
-
systemctl enable autossh@other_server.example
- permite que uma instância seja iniciada automaticamente no bootstrap. -
systemctl start autossh@other_server.example
- inicie manualmente essa instância imediatamente. -
systemctl status autossh@other_server.example
- Veja seu status.
E sim, a primeira regra se aplica a isso. Pesquisando, pode-se descobrir que fui espancado até isso, por pouco menos de quinze dias, por Greg Freemyer no OpenSUSE.