HowTos/Mbox形式でのバックアップスクリプト

出典: ScalixWikiJP

Scalix Wiki -> How-Tos -> HowTos/Mbox形式でのバックアップスクリプト

このセクションは HowTos/BackupScript_Mbox_Style(米国サイト)をもとに作成しています。

Scalix V11 における Mbox 形式のバックアップスクリプト

これは、全てのユーザのメッセージを Mbox 形式のファイルにバックアップするためのスクリプトです。これにより、ディザスタリカバリの目的で、ディレクトリを別の場所にバックアップすることができます。

このスクリプトは、全ユーザのメールボックスを指定したディレクトリ (MBOXDIR) に Mbox 形式のファイルでバックアップを作成します。生成された .mbox ファイルを、別の場所にディザスタリカバリの目的でバックアップします。このスクリプトを実行すると、所定のディレクトリに、毎回 .mbox ファイルを生成します。ディレクトリの中に、古い .mbox があると、それを削除してから新しい .mbox ファイルを生成します。この記事は、Scalix Server V11 向けに記述されています。それ以前のバージョンでは、動作は確認できていません。

#! /bin/bash
echo "[`date`]"
echo "Mailbox Backup Starting."
MBOXDIR="/backup/mailboxes"
if [ -d $MBOXDIR ]; then
    echo "Found Backup Directory. Using It."
else
    echo "Creating Backup Directory ${MBOXDIR} to backup mailboxes."
    mkdir ${MBOXDIR}
fi
for i in $(omshowu -m all | cut -d "/" -f 1 | sed -e 's: $::g' -e 's/ /\//g'); do
    user=`printf "$i" | sed -e 's:/: :g'`
#
#  $user = Username With Space
#  $i = Username With \ Before Space
#  ex:  $user="Firstname Lastname"
#  ex:  $i="Firstname\ Lastname"
#
    echo ${user}
    if [ -a $MBOXDIR/$i.mbox ]; then
        echo "Existing backup found.  Removing before creating new backup."
        rm ${MBOXDIR}/${user}.mbox
    fi
    echo "Backing up user [${user}]"
    sxmboxexp -u "${user}" -a ${MBOXDIR}/"${user}".mbox --listlevel folder -F
done
echo "Mailbox Backup Complete."
echo "[`date`]"


Cron ジョブ

このスクリプトは、メールサーバ上で所定の時間に起動させることができます。 例えば、ユーザの使用頻度が少ない毎週土曜日の午前1時に起動させるには、 Cron ジョブに次のように 登録します。(スクリプトの名前を mailbox_backup.sh とした場合)

0 1 * * 6 /backup/scripts/mailbox_backup.sh > /var/log/mailbox_backup[`date '+%m.%d.%Y'`].log