Help required for configuring a blocking service during shutdown

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,
 
back in the rcX days I configured a backup system which blocks a system shutdown in a certain state (network and mounts still active) if a backup is still running. The init script looks like this:
 
...
case "$1" in
...
  stop)                                                                                                                                                                      
    plymouth --ping
    if [ $? -ne 0 ]; then
      log_daemon_msg "waiting for running backup" "backup"
    else
      plymouth message --text="waiting for running backup"
    fi
    sleep 10
    logger -t backup "rcS: trying to get lock..."
    exec {FD}<>"$LOCKFILE"
    {
      logger -t backup "locked rsync_wrapper: waiting for lock"
      flock ${FD}
    }
    logger -t backup "rcS: continue shutdown..."
    plymouth message --text=""
 
...
esac
...
 
The strategy is to wait for a successful lock on a shared LOCKFILE.
 
Now, I want to solve this with systemd. I've read tons of documentation but I don't get it, all my experiments failed. I am using Linux Mint 21 "Vanessa", which is based on Ubunut 22.04.
 
I am looking for a solution which
 
* "pauses" a shutdown or reboot attempt as long as the LOCK cannot be obtained (which means the backup is still running)
* while the network connection (ethernet) is still active
* and all mounts (local, usb and cifs) are still active
* openssh-server still running
* The logging functionality (plymouth / log_daemon) would be nice. so the system should be allowed to shutdown to a stage where plymouth is already visible
 
Can you please help me?
 
Best regards
Henning

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux