volumes: generate systemd mount files based on mount type
This commit is contained in:
Executable
+30
@@ -0,0 +1,30 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
if [[ ${EUID} -ne 0 ]]; then
|
||||
echo "This script should be run as root." > /dev/stderr
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $# -eq 0 ]]; then
|
||||
echo "No arguments supplied"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$1" == "--check" ]]; then
|
||||
echo "OK"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
mount_file_contents="$1"
|
||||
|
||||
# mount units must be named after the mount point directories they control
|
||||
where=$(echo "${mount_file_contents}" | grep "^Where=" | cut -d'=' -f 2)
|
||||
|
||||
mount_filename=$(systemd-escape -p --suffix=mount "$where")
|
||||
|
||||
echo "$mount_file_contents" > "/etc/systemd/system/${mount_filename}"
|
||||
|
||||
systemctl daemon-reload
|
||||
systemctl enable --no-block --now "${mount_filename}" || true
|
||||
Executable
+26
@@ -0,0 +1,26 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -eu -o pipefail
|
||||
|
||||
if [[ ${EUID} -ne 0 ]]; then
|
||||
echo "This script should be run as root." > /dev/stderr
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ $# -eq 0 ]]; then
|
||||
echo "No arguments supplied"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "$1" == "--check" ]]; then
|
||||
echo "OK"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
where="$1"
|
||||
|
||||
mount_filename=$(systemd-escape -p --suffix=mount "$where")
|
||||
|
||||
systemctl stop "${mount_filename}" || true
|
||||
rm -f "/etc/systemd/system/${mount_filename}"
|
||||
systemctl daemon-reload
|
||||
Reference in New Issue
Block a user