Всем добрый день
Итак, я пытаюсь выполнить резервное копирование на сервере Zimbra и нашел документацию (Процедуры резервного копирования Zimbra ) и понял, что скрипты работают некорректно.
Скрипты из документации
runBackupAll.sh:
echo "*******************************************************"
echo "* Zimbra - Backup all email accounts *"
echo "*******************************************************"
echo""
#
echo Start time of the backup = $(date +%T)
before="$(date +%s)"
#
echo ""
ZHOME=/opt/zimbra
ZBACKUP=$ZHOME/backup/mailbox
echo "Generating backup files ..."
su - zimbra -c "/opt/backup/SCRIPT_ZIBRA_BACKUP_ALL_ACCOUNTS/zimbra_backup_allaccounts.sh"
echo "Sending files to backup all email accounts for Machine2 (10.0.0.X - CrossOver Cable on eth1 \o/ ) ..."
rsync -avH $ZBACKUP root@ipaddress:/opt/zimbra_backup_accounts
before2="$(date +%s)"
#
echo The process lasted = $(date +%T)
# Calculating time
after="$(date +%s)"
elapsed="$(expr $after - $before)"
hours=$(($elapsed / 3600))
elapsed=$(($elapsed - $hours * 3600))
minutes=$(($elapsed / 60))
seconds=$(($elapsed - $minutes * 60))
echo The complete backup lasted : "$hours hours $minutes minutes $seconds seconds"
Второй сценарий:
* Script 2
zimbraBackupAllAccounts.sh
ZHOME=/opt/zimbra
ZBACKUP=$ZHOME/backup/mailbox
ZCONFD=$ZHOME/conf
DATE=`date +"%a"`
ZDUMPDIR=$ZBACKUP/$DATE
ZMBOX=/opt/zimbra/bin/zmmailbox
if [ ! -d $ZDUMPDIR ]; then
mkdir -p $ZDUMPDIR
fi
echo " Running zmprov ... "
for mbox in `zmprov -l gaa`
do
echo " Generating files from backup $mbox ..."
$ZMBOX -z -m $mbox getRestURL "//?fmt=zip" > $ZDUMPDIR/$mbox.zip
done
Этот сценарий не работает в этом разделе.
echo " Running zmprov ... "
for mbox in `zmprov -l gaa`
do
echo " Generating files from backup $mbox ..."
$ZMBOX -z -m $mbox getRestURL "//?fmt=zip" > $ZDUMPDIR/$mbox.zip
Следующая команда возвращает ...
zmmailbox -z -m bob@mail.somehost.com -t 0 getRestURL "/ inbox? fm ОШИБКА: zclient.IO_ERROR (Невозможно получить ресурс REST из https: //FQDN/home/bob@mail.somehost.com/inbox? fmt = zip: FQDN) (причина: полное доменное имя java.net.UnknownHostException)
Я заметил, что могу загрузить свои электронные письма для себя, когда зашел в систему через веб-интерфейс. https://mail.somedomain.com/home/bob///?fmt=tgz .
Однако мне нужно иметь доступ ко всем и, очевидно, без входа в каждую учетную запись.
Как я могу сделать резервную копию электронной почты каждого? Насколько я понимаю, сценарий не работает, потому что ему требуется полное доменное имя, но я не могу установить этот параметр или, по крайней мере, из того, что я пробовал, не дал никаких результатов.
так что есть способ указать имя хоста в скрипте. Я сделал это и не стесняйтесь копировать и использовать по своему усмотрению. Запустите это как пользователь zimbra.
#!/bin/bash
#check that only the Zimbra user runs this.
if [ "$(whoami)" != "zimbra" ]; then
echo "Script must be run as user: zimbra"
exit -1
fi
echo " Running zmprov ... "
for mbox in `zmprov -l gaa`
do
echo " Generating files from backup $mbox ..."
zmmailbox -z -m $mbox getRestURL -u "https://example.com" "//?fmt=zip" > "/opt/zimbra/backup/dump/backup_${mbox}.zip"
done