With Systemd, the Init scripts are not there any more. Consequently, the execution of tasks at boot time had to change.
Hopefully, a nice solution has been found: it uses the good old rc.local file.
Now, to execute tasks at boot time, you put them into the /etc/rc.d/rc.local file.
Then, you change the execution permissions on this file:
# chmod u+x /etc/rc.d/rc.local
Besides allowing executions of tasks, this simple operation activates the new rc-local Systemd service for all the future boots (this is like systemctl enable in Systemd language).
Finally, you can start the rc-local service and, this way, test the execution of the rc.local file:
# systemctl start rc-local
SSD optimization is a good example of such a rc-local service.
In addition, Ed Greshko and several others provided several interesting ideas:
- put these lines at the beginning of the rc.local script to redirect the error messages:
#!/bin/bash exec 2> /tmp/rc.local.log # send stderr from rc.local to a log file exec 1>&2 # send stdout to the same log file echo "rc.local started" # show start of execution set -x # tell sh to display commands before execution
- write this line at the end of the rc.local script to prove no error stopped the execution:
echo "rc.local completed"