In commercial productive enviroments I prefer the backup solutions from SEP because they're very modular, java-based and you've the ability to customize them to fit your enviroment. In addition SEP allows single mail(box) restore for OX servers and many other nice features
If you only want to backup the mails (the other data like contacts, users, and so on should not been backupped hope this is only a test enviroment ) you can do this with simple bash scripts and hunderds other good solutions.
You should always shutdown cyrus while backupping with simple scripts - if you do not your backup is perhaps inconsistent.
First do a backup while cyrus is running, then shut down cyrus and backup the files that have changed during the first run. --> Very short downtime + consistent backup
Again, this is very simple, should not be used for productive enviroments because there are no checks if daemons fail to start or anything other happens!
#simple semi-hotcopy cyrus backup in a folder
#Author Daniel Halbe
#Use on own risk and only after testing with testdata!
echo "cyrus backup starts"
echo "go for coffee"
echo " create some directories"
rm -rf /home/backup/cyrus
rm -rf /home/backup/sieve
mkdir -p /home/backup/cyrus/lib
mkdir -p /home/backup/cyrus/spool
mkdir -p /home/backup/sieve/spool
echo " first rsync run"
rsync -r /var/lib/cyrus /home/backup/cyrus/lib
rsync -r /var/spool/ /home/backup/cyrus/spool
rsync -r /var/spool/sieve /home/backup/sieve/spool
echo "plug out phone"
echo " halting cyrus"
echo " second rsync run"
rsync -r /var/lib/cyrus /var/backup.d/preliminary/cyrus/lib
rsync -r /var/spool/cyrus /var/backup.d/preliminary/cyrus/spool
rsync -r /var/spool/sieve /var/backup.d/preliminary/sieve/spool
echo " start cyrus"
One other thing I want to point out because I see it often:
Never ever use tar for making backups of important data!!! If tar archives get corrupt they cannot be opened in a simple way... Buy storage and backup 1:1 or use other archivers...