Blame SOURCES/cyrus-imapd.cron-daily

0f9cf8
#!/bin/sh
0f9cf8
#
0f9cf8
# This file is run on a daily basis to perform a backup of your
0f9cf8
# mailbox list which can be used to recreate mailboxes.db from backup.
0f9cf8
# Restore is done using ctl_mboxlist after uncompressing the file.
0f9cf8
0f9cf8
BACKDIR="/var/lib/imap/backup"
0f9cf8
MBOXLIST="${BACKDIR}/mboxlist"
0f9cf8
ROTATE=6
0f9cf8
0f9cf8
# fallback to su if runuser not available
0f9cf8
if [ -x /sbin/runuser ]; then
0f9cf8
  RUNUSER=runuser
0f9cf8
else
0f9cf8
  RUNUSER=su
0f9cf8
fi
0f9cf8
0f9cf8
# source custom configuration
0f9cf8
if [ -f /etc/sysconfig/cyrus-imapd ]; then
0f9cf8
  . /etc/sysconfig/cyrus-imapd
0f9cf8
fi
0f9cf8
0f9cf8
[ -x /usr/sbin/ctl_mboxlist ] || exit 0
0f9cf8
[ -f /var/lib/imap/db/skipstamp ] || exit 0
0f9cf8
0f9cf8
# rotate mailbox lists
0f9cf8
seq $[ $ROTATE - 1 ] -1 1 | while read i; do
0f9cf8
  [ -f ${MBOXLIST}.${i}.gz ] && mv -f ${MBOXLIST}.${i}.gz ${MBOXLIST}.$[ $i + 1 ].gz
0f9cf8
done
0f9cf8
[ -f ${MBOXLIST}.gz ] && mv -f ${MBOXLIST}.gz ${MBOXLIST}.1.gz
0f9cf8
0f9cf8
# export mailboxes.db
0f9cf8
$RUNUSER - cyrus -s /bin/sh -c "umask 077 < /dev/null ; /usr/sbin/ctl_mboxlist -d | gzip > ${MBOXLIST}.gz"
0f9cf8
0f9cf8
exit 0
0f9cf8
# EOF