Back up question

During the weekly "full" backup, run through I assume a cron job, include backing up the ldap directory, database, index directory etc. or does this need to be done via the CLI? How about a full restore?

You create a user account on a remote server and then use openssl
to generate a key (er, long story there, google openssl), or you can
even use rsync to just put a copy of zimbra onto a local volume, like this:

/usr/sbin/rsync -avz /opt/zimbra /backups

This creates a complete copy daily, and it can be fully restored should
things go belly up without issue.

AFAIK, zimbra keeps everything, and I mean everything, you need
in the /opt/zimbra directory (pretty much, except for OS-specific stuff
like startup and shutdown scripts, but you can add that to the script
above).