|
|
@ -1,14 +1,22 @@ |
|
|
|
#!/bin/bash |
|
|
|
|
|
|
|
if [[ -z $1 ]]; then |
|
|
|
echo "Usage: $(basename $0) user" |
|
|
|
exit 1 |
|
|
|
else |
|
|
|
user=$1 |
|
|
|
fi |
|
|
|
|
|
|
|
cd /vol/mail |
|
|
|
|
|
|
|
for user in *; do |
|
|
|
# create an archive mailbox (and throw away error because |
|
|
|
# we don't mind if it already exists) |
|
|
|
doveadm mailbox create -u $user -s Archive 2> /dev/null |
|
|
|
doveadm mailbox create -u "$user" -s Archive 2> /dev/null |
|
|
|
|
|
|
|
# assume no messages in INBOX are older than this year |
|
|
|
year=2000 |
|
|
|
currentyear=$(date +%Y) |
|
|
|
|
|
|
|
while [[ $year -le $currentyear ]]; do |
|
|
|
# create an Archive/$year mailbox |
|
|
|
doveadm mailbox create -u $user -s Archive.$year 2> /dev/null |
|
|
@ -30,11 +38,9 @@ for user in *; do |
|
|
|
# delete Archive/$year mailbox if it is empty |
|
|
|
doveadm mailbox delete -u $user -e Archive.$year 2> /dev/null |
|
|
|
|
|
|
|
# step year variable |
|
|
|
# increment year variable |
|
|
|
year=$(($year+1)) |
|
|
|
done |
|
|
|
|
|
|
|
# delete messages from Trash that have been there for more than 2 weeks |
|
|
|
doveadm expunge -u $user SAVEDBEFORE 2w MAILBOX Trash |
|
|
|
|
|
|
|
done |
|
|
|