Matthias Andreas Benkard | b382b10 | 2021-01-02 15:32:21 +0100 | [diff] [blame^] | 1 | #!/bin/bash |
| 2 | |
| 3 | source /source_env.sh |
| 4 | |
| 5 | MAX_AGE=$(redis-cli --raw -h redis-mailcow GET Q_MAX_AGE) |
| 6 | |
| 7 | if [[ -z ${MAX_AGE} ]]; then |
| 8 | echo "Max age for quarantine items not defined" |
| 9 | exit 1 |
| 10 | fi |
| 11 | |
| 12 | NUM_REGEXP='^[0-9]+$' |
| 13 | if ! [[ ${MAX_AGE} =~ ${NUM_REGEXP} ]] ; then |
| 14 | echo "Max age for quarantine items invalid" |
| 15 | exit 1 |
| 16 | fi |
| 17 | |
| 18 | TO_DELETE=$(mysql --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "SELECT COUNT(id) FROM quarantine WHERE created < NOW() - INTERVAL ${MAX_AGE//[!0-9]/} DAY" -BN) |
| 19 | mysql --socket=/var/run/mysqld/mysqld.sock -u ${DBUSER} -p${DBPASS} ${DBNAME} -e "DELETE FROM quarantine WHERE created < NOW() - INTERVAL ${MAX_AGE//[!0-9]/} DAY" |
| 20 | echo "Deleted ${TO_DELETE} items from quarantine table (max age is ${MAX_AGE//[!0-9]/} days)" |