Bu sistemd servis dosyasını ssh tünelini takip etmek için autossh'ı başlatmak için buldum: https://gist.github.com/thomasfr/9707568
[Unit]
Description=Keeps a tunnel to 'remote.example.com' open
After=network.target
[Service]
User=autossh
# -p [PORT]
# -l [user]
# -M 0 --> no monitoring
# -N Just open the connection and do nothing (not interactive)
# LOCALPORT:IP_ON_EXAMPLE_COM:PORT_ON_EXAMPLE_COM
ExecStart=/usr/bin/autossh -M 0 -N -q -o "ServerAliveInterval 60" -o "ServerAliveCountMax 3" -p 22 -l autossh remote.example.com -L 7474:127.0.0.1:7474 -i /home/autossh/.ssh/id_rsa
[Install]
WantedBy=multi-user.target
Systemd'yi tek bir servisteki birkaç tüneli başlatacak şekilde yapılandırmanın bir yolu var mı ?
Kopyala + yapıştır işleminden kaçınmak istediğim için N sistem hizmeti dosyaları oluşturmak istemiyorum.
"Remote.example.com" un diğer ana bilgisayar adları ile değiştirilmesi dışında tüm servis dosyaları aynı olacaktır.
1.5 yıl sonra ...
Bu soruyu yaklaşık 1,5 yıl önce sordum.
Aklım biraz değişti. Evet, güzel, bunu systemd ile yapabilirsiniz (hala kullanıyorum), ancak gelecekte yapılandırma yönetimini kullanacağım.
Systemd neden bir şablon dili uygulamalı ve% h yerine geçmeli?
Birkaç ay sonra bu döngünün ve şablonlamanın yapılandırmayı otomatikleştiren bir araçla çözülmesi gerektiğini düşünüyorum. Şimdi bu listenin bir aracını wikipedia'da kullanıyorum .