« goo が Google Maps のような地図サービス | メイン | Ruby スクリプト: Amazon ECS で BrowseNode の検索 »
2005年04月20日
さくらのレンタルサーバ: MySQL データベースの自動バックアップ
さくらでレンタルサーバを借りて、MySQLデータベースを使うアプリケーションを動かしているのですが、ちょっとした操作ミスからDBのデータをすべて消してしまいました。
手元にあるのは、一週間前にとったバックアップデータのみ。これでもないよりはマシですが、最近一週間分のデータは消えてしまってかえってきません。
せめて一日一回はバックアップは取ろうと、以下のようにシェルスクリプトを仕掛けました。
サーバにログインしてバックアップ用ディレクトリを作る
mkdir ~/bakこのbakというディレクトリにバックアップを蓄積します。
シェルスクリプトの作成
シェルスクリプトは以下のような短いものです。#! /bin/sh d=`date +'%y%m%d'` mysqldump -Q --host=mysql?.db.sakura.ne.jp \ --user=ユーザ名 --password=パスワード DB名 >\ mysql-backup-$d実際に動かすには、DBホスト名、ユーザ名、パスワード、DB名を正しいものにします。
cronへ登録
crontabに登録します。crontab -e としてエディタを起動し、以下を入力。PATH=/bin:/usr/bin:/usr/local/bin 5 5 * * * (cd bak; sh mysql-backup.sh)
これで、毎日午前5時5分に bak というディレクトリに mysql-backup-050420 のようなファイルができていきます。
自分の場合はディスクスペースが余っているので、このまま放置して、気がついたときに古いものは手動で消しています。
投稿者 tam : 2005年04月20日 13:08
コメント
さくらでSQLの自動バックアップを行いたいと思い、たどり着きました。
ただ、どうしてもcrontabでCRONを登録する方法がわからず、コントロールパネルからCRONを登録しようと試みましたが、駄目でした。
昨日から色々と調べたのですが、どうしても分からず、アドバイスを頂く事は出来ますでしょうか。
投稿者 yoshi : 2005年11月01日 12:53