Systemd-tips: Difference between revisions

From wikipost
Jump to navigation Jump to search
No edit summary
No edit summary
 
(2 intermediate revisions by the same user not shown)
Line 64: Line 64:
Description=run this script when issued a system shutdown or reboot
Description=run this script when issued a system shutdown or reboot
RequiresMountsFor=/mnt/usb1 /mnt/usb2
RequiresMountsFor=/mnt/usb1 /mnt/usb2




[Service]
[Service]
Type=oneshot
Type=oneshot
ExecStop=/bin/bash /usr/local/bin/preshutdown.sh
ExecStop=/bin/bash /usr/local/bin/preshutdownscript.sh


[Install]
[Install]
Line 76: Line 74:




Create symlinks and start the service
Enable the service
<pre>
<pre>
systemctl enable preshutdownscript.service
systemctl enable preshutdownscript.service
systemctl start preshutdownscript.service
</pre>
</pre>

Latest revision as of 23:29, 29 May 2025



Enable /etc/rc.local

/etc/systemd/system/rc-local.service

[Unit]
 Description=/etc/rc.local Compatibility
 ConditionPathExists=/etc/rc.local

[Service]
 Type=forking
 ExecStart=/etc/rc.local start
 TimeoutSec=0
 StandardOutput=tty
 RemainAfterExit=yes
 SysVStartPriority=99

[Install]
 WantedBy=multi-user.target


/etc.rc.local

#!/bin/sh -e 
# 
# rc.local 
# 
# This script is executed at the end of each multiuser runlevel. 
# Make sure that the script will "exit 0" on success or any other 
# value on error. 
# 
# In order to enable or disable this script just change the execution 
# bits. 
# 
# By default this script does nothing. 

exit 0

Create symlinks and start the service

systemctl daemon-reload
systemctl enable rc-local.service
systemctl start rc-local.service



enable pre-shutdown script

(to do some things before unmounting two external usb drives)

/etc/systemd/system/preshutdownscript.service

[Unit]
Description=run this script when issued a system shutdown or reboot
RequiresMountsFor=/mnt/usb1 /mnt/usb2

[Service]
Type=oneshot
ExecStop=/bin/bash /usr/local/bin/preshutdownscript.sh

[Install]
WantedBy=multi-user.target shutdown.target


Enable the service

systemctl enable preshutdownscript.service