MySQLデータベースの本体の場所は分かったが、これはASUSTOR NASの共有フォルダではないため、バックアップジョブとして登録することができない。そもそもデータベースのデータファイルをそのままバックアップしてもリストアできるとは限らない。
そこで、MySQLデータベースのデータをダンプし、ファイルとして書きだす仕組みを実装することにする。共有フォルダに書き出せば、そこから先はASUSTOR NASのバックアップジョブによってリモート同期やクラウドバックアップが利用できる。
MySQLデータベースのダンプにはmysqldumpコマンドを使用し、以下のように引数を与えて実行する。
mysqldump -u [ユーザ名] [DB名] --password=[パスワード] > [ダンプファイルパス]
例えば、ユーザ名/DB名:collabtive、パスワード:p455w0rd、共有フォルダのbackup(ファイルシステム上では/volume1/backup)にダンプファイルcollabtive.sqlを出力する場合は、
mysqldump -u collabtive collabtive --password=p455w0rd > /volume1/backup/collabtive.sql
を実行する。Shell In A Boxなどから実行し、正常に動作することが確認できたら今度はこれを定期的に実行するため、スケジューラのタスクリストであるcrontabに登録する。crontab -eで編集状態になるので、以下の1行を追加する。
30 4 * * * /usr/builtin/bin/mysqldump -u [ユーザ名] [DB名] --password=[パスワード] > [ダンプファイルパス]
スペースで区切られたフィールドのうち、最初の5つが実行時刻、分、時、日、月、曜日を示している。*は「任意の値」を意味するので、前述の「30 4 * * *」は「毎日4:30」ということになる。実行時刻はASUSTOR NASの利用/稼働状況やバックアップジョブの時刻を考慮して修正する必要があるだろう。
また、今回はサンプルとして非常に単純な形を提示した。ダンプファイルはSQL文として出力されるため、中を見るとデータがすべて分かってしまう。ダンプすると同時にパスワード保護がついた状態で圧縮するなどの工夫は必要だろう。
さて、第6回では仮想化ストレージとしての利用方法についてみていこう。
Copyright © ITmedia, Inc. All Rights Reserved.