Update reset-learns script for usage with Docker and Podman
This commit is contained in:
parent
62c3fc075b
commit
8b756c2b8a
|
@ -1,30 +1,34 @@
|
||||||
#!/usr/bin/env bash
|
#!/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
|
read -r -p "Are you sure you want to reset learned hashes from Rspamd (fuzzy, bayes, neural)? [y/N] " response
|
||||||
response=${response,,} # tolower
|
response=${response,,} # tolower
|
||||||
if [[ "$response" =~ ^(yes|y)$ ]]; then
|
if [[ "$response" =~ ^(yes|y)$ ]]; then
|
||||||
|
_engine="${MAILCOW_CONTAINER_ENGINE}"
|
||||||
|
|
||||||
echo "Working, please wait..."
|
echo "Working, please wait..."
|
||||||
REDIS_ID=$(docker ps -qf name=redis-mailcow)
|
REDIS_ID=$(${_engine} ps -qf name=redis-mailcow)
|
||||||
RSPAMD_ID=$(docker ps -qf name=rspamd-mailcow)
|
RSPAMD_ID=$(${_engine} ps -qf name=rspamd-mailcow)
|
||||||
|
|
||||||
if [ -z ${REDIS_ID} ] || [ -z ${RSPAMD_ID} ]; then
|
if [ -z ${REDIS_ID} ] || [ -z ${RSPAMD_ID} ]; then
|
||||||
echo "Cannot determine Redis or Rspamd container ID"
|
echo "Cannot determine Redis or Rspamd container ID"
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
echo "Stopping Rspamd container"
|
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 "LUA will return nil when it succeeds or print a warning/error when it fails."
|
||||||
echo "Deleting all RS* keys - if any"
|
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"
|
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"
|
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"
|
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"
|
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"
|
echo "Starting Rspamd container"
|
||||||
docker start ${RSPAMD_ID}
|
${_engine} start ${RSPAMD_ID}
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
Loading…
Reference in New Issue