From 8b756c2b8a5f75794091bac70023be4dece09cca Mon Sep 17 00:00:00 2001 From: Roy Lenferink Date: Mon, 9 Jan 2023 16:30:17 +0100 Subject: [PATCH] Update reset-learns script for usage with Docker and Podman --- helper-scripts/reset-learns.sh | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/helper-scripts/reset-learns.sh b/helper-scripts/reset-learns.sh index 9fd11232..989eaba8 100755 --- a/helper-scripts/reset-learns.sh +++ b/helper-scripts/reset-learns.sh @@ -1,30 +1,34 @@ #!/usr/bin/env bash +[[ -f mailcow.conf ]] && source mailcow.conf +[[ -f ../mailcow.conf ]] && source ../mailcow.conf read -r -p "Are you sure you want to reset learned hashes from Rspamd (fuzzy, bayes, neural)? [y/N] " response response=${response,,} # tolower if [[ "$response" =~ ^(yes|y)$ ]]; then + _engine="${MAILCOW_CONTAINER_ENGINE}" + echo "Working, please wait..." - REDIS_ID=$(docker ps -qf name=redis-mailcow) - RSPAMD_ID=$(docker ps -qf name=rspamd-mailcow) + REDIS_ID=$(${_engine} ps -qf name=redis-mailcow) + RSPAMD_ID=$(${_engine} ps -qf name=rspamd-mailcow) if [ -z ${REDIS_ID} ] || [ -z ${RSPAMD_ID} ]; then echo "Cannot determine Redis or Rspamd container ID" exit 1 else echo "Stopping Rspamd container" - docker stop ${RSPAMD_ID} + ${_engine} stop ${RSPAMD_ID} echo "LUA will return nil when it succeeds or print a warning/error when it fails." echo "Deleting all RS* keys - if any" - docker exec -it ${REDIS_ID} redis-cli EVAL "for _,k in ipairs(redis.call('keys', ARGV[1])) do redis.call('del', k) end" 0 'RS*' + ${_engine} exec -it ${REDIS_ID} redis-cli EVAL "for _,k in ipairs(redis.call('keys', ARGV[1])) do redis.call('del', k) end" 0 'RS*' echo "Deleting all BAYES* keys - if any" - docker exec -it ${REDIS_ID} redis-cli EVAL "for _,k in ipairs(redis.call('keys', ARGV[1])) do redis.call('del', k) end" 0 'BAYES*' + ${_engine} exec -it ${REDIS_ID} redis-cli EVAL "for _,k in ipairs(redis.call('keys', ARGV[1])) do redis.call('del', k) end" 0 'BAYES*' echo "Deleting all learned* keys - if any" - docker exec -it ${REDIS_ID} redis-cli EVAL "for _,k in ipairs(redis.call('keys', ARGV[1])) do redis.call('del', k) end" 0 'learned*' + ${_engine} exec -it ${REDIS_ID} redis-cli EVAL "for _,k in ipairs(redis.call('keys', ARGV[1])) do redis.call('del', k) end" 0 'learned*' echo "Deleting all fuzzy* keys - if any" - docker exec -it ${REDIS_ID} redis-cli EVAL "for _,k in ipairs(redis.call('keys', ARGV[1])) do redis.call('del', k) end" 0 'fuzzy*' + ${_engine} exec -it ${REDIS_ID} redis-cli EVAL "for _,k in ipairs(redis.call('keys', ARGV[1])) do redis.call('del', k) end" 0 'fuzzy*' echo "Deleting all tRFANN* keys - if any" - docker exec -it ${REDIS_ID} redis-cli EVAL "for _,k in ipairs(redis.call('keys', ARGV[1])) do redis.call('del', k) end" 0 'tRFANN*' + ${_engine} exec -it ${REDIS_ID} redis-cli EVAL "for _,k in ipairs(redis.call('keys', ARGV[1])) do redis.call('del', k) end" 0 'tRFANN*' echo "Starting Rspamd container" - docker start ${RSPAMD_ID} + ${_engine} start ${RSPAMD_ID} fi fi