cronが使えないサーバにおいて、データベースの定期的なバックアップをする方法はありませんか?


想像できるのは、例えば毎日朝5時以降の最初のアクセスがあったときに、DBのバックアップを取るPHPを呼び出して、その日に既に取られていたら、それ以降動かさないようなイメージかなと思いますが、もっとスマートな方法はあるのでしょうか?

また、DBの差分バックアップをSQLとしてデータを残したものをしたいと考えていますが、どのような方法があるのでしょうか?具体的に知りたいです。
よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/03/26 12:21:50
  • 終了:2007/04/02 12:25:03

回答(4件)

id:sabuibo No.1

sabuibo回答回数266ベストアンサー獲得回数202007/03/26 12:32:44

ポイント23pt

(1)DBMSによっては独自のスケジューラを持っているものもあるので、DBMSの機能で実装する。

(2)常駐プロセスを作り、時間をチェックしてバックアップを実行する。

(3)定期的に人手で実行する。(これはスマートではないですが)


http://q.hatena.ne.jp/answer

id:dingding

説明不足でした。

DBはMySQL 4.0.24です。

ルート権限はありません。

ルート権限が無くてもできるのは、3だけでしょうか?

2007/03/26 13:28:08
id:GraPer No.2

GraPer回答回数1ベストアンサー獲得回数02007/03/26 13:00:59

ポイント23pt

cronと書いてあるので、UNIX系OSということで。

DBサーバ起動時にスクリプトを起動し、そのスクリプトのなかで定期的にバックアップ処理を走らせればよいのではないでしょうか。

例)

DBサーバ起動時にスクリプト起動。

その中でdateコマンドを定期的に発行。

(繰り返し構文とsleepを使って。)

AM5:00になったらDBバックアップを取るPHPを起動。

※PHPに排他処理はつけておいてください。

http://q.hatena.ne.jp/1174879309

(URLはダミーです。)

id:dingding

知識不足で理解できていないのですが、スクリプトというのは、プロシージャか何かですか?

それともPHPですか?

SQLで条件指定して、DBをSQL文としてバックアップをするサンプルスクリプトを掲載しているサイトがあれば教えて下さい。

2007/03/26 13:30:44
id:iketerummo No.3

iketerummo回答回数68ベストアンサー獲得回数42007/03/26 14:20:20

ポイント22pt

cronが使えない鯖で定期処理するには

質問内でおっしゃられているように、WEBへのアクセスにバックアップ処理を仕掛けるのも方法の一つではありますが

予期通りの結果が得られるか?(訪問者がいなかったら?)

不要な負荷を気にしないか?

で問題が無いようでしたら良いと思われます。

上記以外で方法としましては、外部cronを使う。私のオススメです。

cron動作可能なサーバーからバックアップタスクのCGIを呼び出せばスマートですね。


url必須のようであまり良い参考サイトが無かったのですが、cron動作させているサイトです。

http://www.mmo-news.net/

id:dingding

なるほど。外部クーロンという手がありますね。いっそのこと、自分のマシンを起動したときや、スケジューラで起動してもよさそうですね。

ありがとうございます。

2007/03/26 14:57:09
id:russian-blue No.4

russian-blue回答回数36ベストアンサー獲得回数02007/03/26 14:40:02

ポイント22pt

定期実行(裏技)

http://drupal.jp/node/355

定期的なCGI呼び出し機能は?

http://lacoocan.nifty.com/service/outline.htm

exec/systemで外部プログラムで

mysqldumpを呼び出す。

http://jp.php.net/manual/ja/function.system.php

id:dingding

ありがとうございます。

2007/03/26 15:02:10

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません