You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

63 lines
1.7 KiB

#!/usr/bin/env bash
### CONSTANTS
SYMPA_CONF=/etc/sympa/sympa/sympa.conf
SYMPA_DOMAIN=$(grep '^domain' "$SYMPA_CONF" | cut -f2)
FORCE=true
### FUNCTIONS
function purge {
# LIB/ARCHIVE
for arc_entry in /var/lib/sympa/arc/*; do
arc_name=$(basename "$arc_entry")
if [[ $arc_name != '*' ]] && [[ $arc_name != *"@$SYMPA_DOMAIN" ]]; then
$FORCE && rm /var/lib/sympa/arc/"$arc_name" -rf
echo "archive [$arc_name] removed!"
fi
done
# LIB/BOUNCE
for bounce_entry in /var/lib/sympa/bounce/*; do
bounce_name=$(basename "$bounce_entry")
if [[ $bounce_name != '*' ]] && [[ $bounce_name != *"@$SYMPA_DOMAIN" ]]; then
$FORCE && rm /var/lib/sympa/bounce/"$bounce_name" -rf
echo "bounce [$bounce_name] removed!"
fi
done
# SPOOL/DIGEST
for digest_entry in /var/spool/sympa/digest/*; do
digest_name=$(basename "$digest_entry")
if [[ $digest_name != '*' ]] && [[ $digest_name != *"@$SYMPA_DOMAIN"* ]]; then
$FORCE && rm /var/spool/sympa/digest/"$digest_name" -rf
echo "digest [$digest_name] removed!"
fi
done
# SPOOL/VIEWMAIL/BOUNCE
for bounce_entry in /var/spool/sympa/viewmail/bounce/*; do
bounce_name=$(basename "$bounce_entry")
if [[ $bounce_name != '*' ]] && [[ $bounce_name != *"@$SYMPA_DOMAIN"* ]]; then
$FORCE && rm /var/spool/sympa/viewmail/bounce/"$bounce_name" -rf
echo "viewmail/bounce [$bounce_name] removed!"
fi
done
# SPOOL/VIEWMAIL/MOD
for mod_entry in /var/spool/sympa/viewmail/mod/*; do
mod_name=$(basename "$mod_entry")
if [[ $mod_name != '*' ]] && [[ $mod_name != *"@$SYMPA_DOMAIN"* ]]; then
$FORCE && rm /var/spool/sympa/viewmail/mod/"$mod_name" -rf
echo "viewmail/mod [$mod_name] removed!"
fi
done
}
### MAIN
set -Eeu
purge