[CentOS] Running script before reboot or shutdown

Tue Dec 22 14:22:08 UTC 2020
centos2 at foxengines.net <centos2 at foxengines.net>


On Tue, Dec 22, 2020, at 06:51, Carlos Lopez wrote:
> I am trying to configure a script as a systemd service to run first when a shutdown or reboot is called. This script execute some scp commands to copy some files to other machines. My actual defined systemd’s file is:
> [Unit]
> Description=Remote copy some files before reboot/shutdown
> Before=poweroff.target halt.target shutdown.target reboot.target
> DefaultDependencies=no
> [Service]
> Type=simple
> ExecStart=/bin/true
> ExecStop=/usr/local/bin/remote_copy
> RemainAfterExit=yes
> [Install]
> WantedBy=multi-user.target
> But it doesn’t work. “remote_copy” is working when it is executed from root shell. I am using CentOS-8 fully patched release.
> Any idea what am I doing wrong?

I don't have a CentOS 8 machine to test on but on a CentOS 7.9, this works for me:


Description=Remote copy some files before reboot/shutdown



the mode and contents of remote_copy:

-rwxr-xr-x 1 root root 44 Dec 22 08:23 /usr/local/bin/remote_copy


date >> /tmp/remote_copy_result

After enabling the service and rebooting, I get a file in /tmp/remote_copy_result that contains the date.

My success is attributable not to me but to this post:
Your unit file seems similar but when I used it, it didn't work on my CentOS 7.9 system either.