rc.local - hvordan gør man det nu

peque
Antal: 881
Tilmeldt:
20-04-2005
User is offline
rc.local - hvordan gør man det nu

Hey Gutter.
Jeg har en Debian 9 MythTV Backend server - hvor jeg tidligere har kørt diverse scripts fra min rc.local.
Nu ser jeg så at denne er uddateret - Så hvordan man kalder så enkelte scripts?

Før i tiden havde jeg blandt andet en deluge daemon kørende - Men man kan jo godt få rc.local til at køre - men er det den "rigtige" måde

PS: Syntes virkeligt jeg har problemer med at få ting til at fungere under deres
/etc/systemd/system/*.service - selv jeg kan få startet en service under normal kørsel

/etc/init.d/ffdecsawrapper start

Men hvis jeg vil ligge den ind som startes automatisk fra boot - kører jeg en

systemctl enable ffdecsawrapper
Og/eller
update-rc.d ffdecsawrapper defaults

Men den starter ikke noget op fra boot
Så ligger jeg en fil under /etc/systemd/system/ffdecsawrapper.service - så kan jeg se den starter daemon hvor efter den lukker den igen.
Min servcice fil er denne minimale udgave

[Unit]
Description=DVBloopback Modules
After=systemd-modules-load.service
DefaultDependencies=no

[Service]
Type=oneshot
ExecStart=/usr/bin/ffdecsawrapper

[Install]
WantedBy=multi-user.target

Jeg er lidt i tvivl omkring ExecStart
Da /etc/init.d/ffdecsawrapper indlæser lokale params fra /etc/default/ffdecsawrapper og har faktisk en lang opstart kommando som samles i /etc/init.d/ffdecsawrapper

Skal man skrive den ind i *.service filen ala som ssh gør i sin ???

[Unit]
Description=OpenBSD Secure Shell server
After=network.target auditd.service
ConditionPathExists=!/etc/ssh/sshd_not_to_be_run

[Service]
EnvironmentFile=-/etc/default/ssh
ExecStartPre=/usr/sbin/sshd -t
ExecStart=/usr/sbin/sshd -D $SSHD_OPTS
ExecReload=/usr/sbin/sshd -t
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartPreventExitStatus=255
Type=notify

[Install]
WantedBy=multi-user.target
Alias=sshd.service


frogmaster
frogmaster's picture
Antal: 3517
Tilmeldt:
20-05-2010
User is offline
Du skal formentlig definere

Du skal formentlig definere opstart af dine scripts efter opskriften beskrevet i linket herunder, men fordi jeg ikke kender Debian 9, så ved jeg ikke hvordan den reagerer med systemd.

How to Create and Run New Service Units in Systemd Using Shell Script:
https://www.tecmint.com/create-new-service-units-i...

Jeg starter og kontrollerer scripts med fx disse commands:

Starter uden at enable boot:
systemctl start vncserver-x11-serviced.service

Viser status:
systemctl status vncserver-x11-serviced.service

Enable under boot:
systemctl enable vncserver-x11-serviced.service

Viser alle aktive tjenester:
systemctl --type=service


osjensen
osjensen's picture
Antal: 1265
Tilmeldt:
14-01-2007
User is online
Det findes der

Det findes der selvfølgelig, et værktøj til:
https://ddumont.wordpress.com/2017/01/04/new-with-...

Det har @peque selvfølgelig ikke behov for, men andre kan måske have glæde af sådan en GUI.