| @@ -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" | ||||