From 00a6c905e49e0a137aa80ea0e79ffc7fed4cadfb Mon Sep 17 00:00:00 2001 From: creme Date: Thu, 16 Mar 2023 11:44:49 +0100 Subject: [PATCH] update scripts --- usr/local/bin/matrix-remove-empty-rooms.sh | 11 +++++------ usr/local/bin/synapse-clear-state.sh | 5 ++--- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/usr/local/bin/matrix-remove-empty-rooms.sh b/usr/local/bin/matrix-remove-empty-rooms.sh index e2a38c7..598bfb4 100755 --- a/usr/local/bin/matrix-remove-empty-rooms.sh +++ b/usr/local/bin/matrix-remove-empty-rooms.sh @@ -1,5 +1,5 @@ #!/usr/bin/env bash -# +# this script removed all room's without local members. # you dont need to stop synapse. # @@ -30,15 +30,14 @@ done if [ -z "$DOMAIN" ] || [ "$DOMAIN" == '-t' ]; then print_usage; fi if [ -z "$TOKEN" ] || [ "$TOKEN" == '-d' ]; then print_usage; fi -curl -s -X GET -H "Authorization: Bearer $TOKEN" "https://$DOMAIN/_synapse/admin/v1/rooms?limit=10000" | \ -jq -M '.rooms[] | select(.joined_local_members == 0) | .room_id' > $tmp_file -sed -i 's/"//g' $tmp_file +curl -s -X GET -H "Authorization: Bearer $TOKEN" "https://$DOMAIN/_synapse/admin/v1/rooms?limit=1000000" | \ +jq -Mr '.rooms[] | select(.joined_local_members == 0) | .room_id' > $tmp_file while IFS= read -r room_id do printf 'remove room %s ' "$room_id" - curl -s -X POST -H "Authorization: Bearer $TOKEN" "https://$DOMAIN/_synapse/admin/v1/purge_room" \ - -H "Content-Type: application/json" -d "{ \"room_id\": \"$room_id\" }" + curl -s -X DELETE -H "Authorization: Bearer $TOKEN" "https://$DOMAIN/_synapse/admin/v1/rooms/$room_id" \ + -H "Content-Type: application/json" -d "{}" printf ' done.\n' done < $tmp_file diff --git a/usr/local/bin/synapse-clear-state.sh b/usr/local/bin/synapse-clear-state.sh index 5e83083..8be94d9 100755 --- a/usr/local/bin/synapse-clear-state.sh +++ b/usr/local/bin/synapse-clear-state.sh @@ -10,7 +10,7 @@ ## start task via: # $ sudo systemd-run --nice=4 -pCPUSchedulingPolicy=batch \ # -pIOSchedulingClass=idle --uid=matrix-synapse --collect \ -# --unit=synapse-clear-state ~/bin/synapse-clear-state +# --unit=synapse-clear-state ~/bin/synapse_clear_state # ## watch task-log via: # $ journalctl -Stoday -u synapse-clear-state -f @@ -20,7 +20,6 @@ set -e -u username='matrix' db='matrix' - conn_str="host=localhost user=$username dbname=$db application_name=state_compress" ### @@ -56,7 +55,7 @@ do sql_file=state-compress-$((no += 1)).sql echo "Writing SQL commands to $sql_file" - $time synapse-compress-state -t -p "$conn_str" -o "$sql_file" -r "$room" -m 1000 + $time synapse_compress_state -t -p "$conn_str" -o "$sql_file" -r "$room" -m 1000 if test -s "$sql_file" then $time psql -X -q -b -U "$username" -c '\set ON_ERROR_STOP on' -f "$sql_file" $db