3

I would like to execute this shell script at reboot and shut down:

#!/bin/sh
touch /test

Its permissions are

-rwxr-xr-x 1 root root 22 Feb 24 09:34 /etc/init.d/te1

And it has this links

/etc/rc0.d/K01te1 -> ../init.d/te1
/etc/rc6.d/K01te1 -> ../init.d/te1

It is working at start up if I have a this link

/etc/rc5.d/S01te1 -> ../init.d/te1

But I need it running at shut down.

How can I do this on Debian 8 and 9 testing?

The suggestion touch /var/lock/subsys/te1 didn't work.

Rui F Ribeiro
  • 55,929
  • 26
  • 146
  • 227
Frank Breitling
  • 959
  • 3
  • 12
  • 25

3 Answers3

7

I got the impression that others seem to have problems in getting this running, too. Seems like starting with Debian 8.0 (Jessie) systemd breaks compatibility to System V init.

So here it was suggested to create a systemd service instead. The solution is used here and looks like this:

[Unit]
Description=The te1 script

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/bin/true
ExecStop=/usr/local/bin/te1

[Install]
WantedBy=multi-user.target

The systemd service needs to be saved in /lib/systemd/system/te1.service and installed with sudo systemctl enable te1.

Frank Breitling
  • 959
  • 3
  • 12
  • 25
  • On Raspbian, this did not work until I ran `sudo systemctl daemon-reload`. I am not sure at what time the `daemon-reload` has to be run, whether it is after installing the service config, or after enabling the service a first time, or whether the service has to be enabled after daemon-reload, but I did get it working. – Steven Lu Aug 06 '19 at 01:53
0

seems you could find it with a bit of search but:
put your script at /etc/rc6.d grant necessary permissions:

sudo chmod +x K99_script

and some points:
no .sh extension
K_99 is needed
scripts here are executed in alphabetical order
Read here

FargolK
  • 1,629
  • 1
  • 12
  • 20
-1

Try to execute your script as a startscript in runlevel 6

ln -s /etc/init.d/te1 etc/rc0.d/S01te1
ingopingo
  • 807
  • 5
  • 7