Fix matrix-remove-all for when Synapse workers are enabled

This commit is contained in:
Slavi Pantaleev 2021-01-24 19:42:32 +02:00
parent edc21f15e5
commit 92ee3d78a0

View File

@ -15,11 +15,26 @@ if [ "$sure" != "Yes, I really want to remove everything!" ]; then
exit 0 exit 0
else else
echo "Stop and remove matrix services" echo "Stop and remove matrix services"
for s in $(find {{ matrix_systemd_path }}/ -name "matrix-*" -printf "%f\n"); do
# Look for and stop services, avoiding things like
# 'matrix-synapse-worker@.service' (just a template for instantiated services; can't stop it directly).
# We use '-xtype f' and not '-type f', because we wish to match symlinks like this:
# '/etc/systemd/system/matrix-synapse.service.wants/matrix-synapse-worker@generic_worker:18111.service'
# and stop these instantiated services as well.
for s in $(find {{ matrix_systemd_path }}/ -xtype f -name "matrix-*" -printf "%f\n" | grep -v '@.service' | uniq); do
systemctl stop $s systemctl stop $s
done
# Get rid of regular service files, as well as symlinks like
# '/etc/systemd/system/matrix-synapse.service.wants/matrix-synapse-worker@generic_worker:18111.service'
# and even
# '/etc/systemd/system/multi-user.target.wants/matrix-synapse.service'.
for s in $(find {{ matrix_systemd_path }}/ -xtype f -name "matrix-*" -printf "%p\n"); do
rm -f {{ matrix_systemd_path }}/$s rm -f {{ matrix_systemd_path }}/$s
done done
systemctl daemon-reload systemctl daemon-reload
echo "Remove matrix scripts" echo "Remove matrix scripts"
find {{ matrix_local_bin_path }}/ -name "matrix-*" -delete find {{ matrix_local_bin_path }}/ -name "matrix-*" -delete
echo "Remove unused Docker images and resources" echo "Remove unused Docker images and resources"