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
