From a8beecdbd54a404db6df0db19d3d1d1f336fe49d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Guillaume=20T=C3=A2che?= Date: Sat, 23 May 2026 12:46:29 +0200 Subject: [PATCH] Improves safe-* --- files/safe-reboot | 8 +------- files/safe-shutdown | 9 +-------- files/safe-stop | 10 ++++++++++ pi4.bu | 4 ++++ 4 files changed, 16 insertions(+), 15 deletions(-) create mode 100644 files/safe-stop diff --git a/files/safe-reboot b/files/safe-reboot index c4f2bdc..cd08a76 100644 --- a/files/safe-reboot +++ b/files/safe-reboot @@ -1,11 +1,5 @@ #!/bin/bash set -o errexit -o pipefail -o noclobber -o nounset -o errtrace -o functrace -users=(arr gitea homeassistant immich jdownloader kiwix komga navidrome nextcloud nginx pairdrop paperless pihole qbittorrent synapse wallabag) -for user in "${users[@]}"; do - readarray -t units <<< "$(systemctl --user -M "${user}@" list-units | grep container | grep running | grep service | awk '{print $1}')" || true - if [[ "${#units[@]}" -gt 0 && -n "${units[0]:-}" ]]; then - systemctl --user -M "${user}@" stop "${units[@]}" - fi -done +/opt/bin/safe-stop systemctl reboot diff --git a/files/safe-shutdown b/files/safe-shutdown index d241a20..5cd1225 100644 --- a/files/safe-shutdown +++ b/files/safe-shutdown @@ -1,12 +1,5 @@ #!/bin/bash set -o errexit -o pipefail -o noclobber -o nounset -o errtrace -o functrace -users=(arr gitea homeassistant immich jdownloader kiwix komga navidrome nextcloud nginx pairdrop paperless pihole qbittorrent synapse wallabag) -for user in "${users[@]}"; do - readarray -t units <<< "$(systemctl --user -M "${user}@" list-units | grep container | grep running | grep service | awk '{print $1}')" || true - if [[ "${#units[@]}" -gt 0 && -n "${units[0]:-}" ]]; then - systemctl --user -M "${user}@" stop "${units[@]}" - fi -done - +/opt/bin/safe-stop systemctl poweroff diff --git a/files/safe-stop b/files/safe-stop new file mode 100644 index 0000000..cf03145 --- /dev/null +++ b/files/safe-stop @@ -0,0 +1,10 @@ +#!/bin/bash +set -o errexit -o pipefail -o noclobber -o nounset -o errtrace -o functrace + +users=(arr gitea homeassistant immich jdownloader kiwix komga navidrome nextcloud nginx pairdrop paperless pihole qbittorrent synapse wallabag) +for user in "${users[@]}"; do + readarray -t units <<< "$(systemctl --user -M "${user}@" list-units | grep container | grep running | grep service | awk '{print $1}')" || true + if [[ "${#units[@]}" -gt 0 && -n "${units[0]:-}" ]]; then + systemctl --user -M "${user}@" stop "${units[@]}" + fi +done diff --git a/pi4.bu b/pi4.bu index 2b439ea..82cf19a 100644 --- a/pi4.bu +++ b/pi4.bu @@ -93,6 +93,10 @@ storage: contents: local: files/safe-shutdown mode: 0755 + - path: /opt/bin/safe-stop + contents: + local: files/safe-stop + mode: 0755 - path: /etc/containers/systemd/samba.container contents: local: quadlets/samba/samba.container