このサイトの掲示板などに書き込みをするには、ログインする必要があります。
このページ右上の「ログイン」をクリックしてユーザーIDとパスワードを入力願います。

オンライン状況

オンラインユーザー3人
ログインユーザー0人

Moodleの自動バックアップとリストア

自動バックアップ機能はMoodleの標準機能に備わっています。
ただし、やっぱり自分でスクリプトを書いてやりたいと考える人の為に手順例を載せておきます。
例によって、このページを見て実行した結果については当方は何の責任も負いませんので、各自の判断で採用願います。

[1] MySQLデータベースの自動ダンプとサイトの自動バックアップスクリプト
viエディタで下記の内容を書いたテキストファイルを作って、/etc/cron.dailyなどに入れて設定します。
例えば、NASサーバーを別途立ち上げて、そのディスクを/mnt/nasあたりにNFSマウントしてバックアップデータを書き込んではどうでしょうか?

# cd /etc/cron.daily
# vi moodlebackup
以下viで文章を入力します。
MySQLデータベースのrootユーザーのパスワードを2008mysql、moodleデータベースの名前はmoodledatabaseとして書いてあります。
Moodleサイトは、/data/html/moodle以下に、moodleのユーザーデータなどは/data/moodledata以下にあるものとしています。

—–< ここから >—–
#!/bin/bash
#
# Data backup script for the Moodle e-Learning Server
#
tar c /data/html/moodle -f /mnt/nas/moodlesite.tar
sleep 1
tar c /data/moodledata -f /mnt/nas/moodledata.tar
sleep 1

mysqldump -u root -p2008mysql --opt moodledatabase > /mnt/nas/moodledatabase.sql
# --opt はマイナス・マイナスoptですよ。

exit 0
—–< ここまで >—–

[2]バックアップしたデータを新しいサーバーなどでリストア
下記のような作業で行います。
なお、MySQL上のデータベースmoodledatabaseはあらかじめ作っておきます。

# cp /mnt/nas/moodlesite.tar /data/html/moodlesite.tar
# tar xvf /data/html/moodlesite.tar
# rm /data/html/moodlesite.tar

# cp /mnt/nas/moodledata.tar /data/moodledata.tar
# tar xvf /data/moodledata.tar
# chmod -r 777 /data/moodledata
# rm /data/moodledata.tar

# mysql -u root -p2008mysql moodledatabase < /mnt/nas/moodledatabase.sql