[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [systemd] einen Defaultwert fuer den Start einer template-Unit vorgeben



Marc Haber <mh+debian-user-german@zugschlus.de> wrote:

> Sprich, auf start und stop hat das nur Auswirkung, wenn eine der Units
> "enabled" ist. Schröbe ich nur "DefaultInstance=default" nach
> foo@.service, hätte das auf ein "systemctl start foo" keine
> Auswirkung, nur auf ein "systemctl enable foo@", dann bekäme ich aber
> foo@.service auch beim Systemstart gestartet. So weit war ich auch
> vorgestern schon.

Ich habe hier units für snort geschrieben, die wie folgt aussehen. Die
Sache implementiert nicht alles, was du machst (keine
Default-Instanzen), aber ich kann mit "systemctl stop snort.service"
alle Intanzen beenden:

,----[snort.service]
| [Unit]
| Description=Start all snort instances
|
| [Service]
| Type=oneshot
| ExecStart=/bin/true
| RemainAfterExit=yes
|
| [Install]
| WantedBy=multi-user.target
`----

,----[snort@.service]
| [Unit]
| Description=Snort IDS system listening on '%I'
| Requires=snort.service
| Before=snort.service
| BindsTo=snort.service
|
| [Service]
| Type=simple
| SyslogIdentifier=snort-%i
| TimeoutStartSec=300
| ExecStart=/usr/local/bin/snort -c /etc/snort/snort-%I.conf -i %I --pid-path /var/run/snort -l /var/log/snort -S INTERFACE=%I -u snort -g snort
| ExecStopPost=/bin/rm -f /var/run/snort/snort_%i*
| Restart=on-failure
|
| [Install]
| WantedBy=snort.service
`----

Ich denke der Trick hier ist das "Requires=snort.service". Sobald
nämlich "snort.service" beendet wird, ist das nicht mehr erfüllt und
"snort@$interface.service" wird auch beendet.

S°

-- 
Sigmentation fault. Core dumped.


Reply to: