- PR -

データベースのバックアップを自動的に行うには?

1
投稿者投稿内容
アレク
ベテラン
会議室デビュー日: 2002/10/23
投稿数: 97
投稿日時: 2002-11-15 00:55
いつもお世話になっております。

データベースのバックアップを一定の期間ごとに、自動的に行うことは可能でしょうか?

一応、PostgreSQL のバックアップを取りたいのですが、他のデータベースでもいいので、
自動的バックアップの方法を知っている方がおられたら、教えていただけないでしょうか。

よろしくお願い致します。
yu
ベテラン
会議室デビュー日: 2002/09/29
投稿数: 58
お住まい・勤務地: 東京
投稿日時: 2002-11-15 02:06
cron から pg_dumpall を呼ぶ、というのではだめなんでしょうか?
そういう話じゃない??

_________________
アレク
ベテラン
会議室デビュー日: 2002/10/23
投稿数: 97
投稿日時: 2002-11-15 09:43
引用:

cron から pg_dumpall を呼ぶ、というのではだめなんでしょうか?
そういう話じゃない??



yu さん、ありがとうございます。

確かにそれでもいいのですが、Java を使って実現する方法はないかな〜?
な〜んて、考えました。

やっぱ、無理ですかね?
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2002-11-15 12:54
できないことはないですけど、どうしてもJavaを使わないといけない理由が
ないならお勧めしませんけどね−。
バックアップといっても、どう言う形で保存するかでやり方が違ってきます
よね。
1.ダンプされたものを保存(pg_dumpallがこれにあたりますね)
2.バイナリ状態のデータベースファイルをそのまま保存
3.データをCSV形式で保存

1の場合、MySqlなんかでもそうなんですが、出力されたテキストに
create table
とかSQL文が入っているので、この形で保存したい場合は用意されている専用
コマンドを使う形になると思います。そのコマンドをJavaから起動するって
いう方法もあるにはありますが・・・。

2の場合はファイルコピーをやるだけですから、Javaでも簡単に扱えるでしょう。

3の場合、JDBCで接続して帰ってきたデータを','で区切って、レコードごとに
ストリームに出力すればできそうですが。

データベースのバックアップはシステム運用になるので、手軽で強力、いちいち
コンパイルしなくても平気なシェルで流す方がいいとおもうんですけどね。







アレク
ベテラン
会議室デビュー日: 2002/10/23
投稿数: 97
投稿日時: 2002-11-15 15:36
引用:

できないことはないですけど、どうしてもJavaを使わないといけない理由がないならお勧めしませんけどね−。
バックアップといっても、どう言う形で保存するかでやり方が違ってきますよね。
1.ダンプされたものを保存(pg_dumpallがこれにあたりますね)
2.バイナリ状態のデータベースファイルをそのまま保存
3.データをCSV形式で保存

データベースのバックアップはシステム運用になるので、手軽で強力、いちいちコンパイルしなくても平気なシェルで流す方がいいとおもうんですけどね。



小僧さん、いつもありがとうございます。

なるほど。確かに、Java を使って出来ないこともなさそうですね〜。
しかし、やっぱり大変そう。

別に Java を使わなくてはならないと言うわけではないのですが、
ちょっと興味があったので質問してみました。

やっぱ、シェルスクリプトにしよ〜っと。
小僧
ぬし
会議室デビュー日: 2002/08/14
投稿数: 526
投稿日時: 2002-11-16 14:42
Javaに限らず、CやPascalなど一般的なプログラムを作ることができる環境
ライブラリとか)がある言語なら作ることはできますからね。
ただ、C言語で動作速度が速くしたり、コンパクトなサイズのコードを作って
も、他人が使うことや自分自身で後々手直しするときのこと、コンパイルの手
間やコンパイラなどのバージョン問題が絡む可能性があったりすると、嫌われる
だけのいやーなツール(ユーティリティー)になってしまいます。
プログラム言語も適材適所ですね。
アレク
ベテラン
会議室デビュー日: 2002/10/23
投稿数: 97
投稿日時: 2002-11-16 16:47
引用:

プログラム言語も適材適所ですね。



いや〜。良いお言葉頂き誠にありがとうございます。(感)

確かに、何でもプログラムで処理させるよりも、人が一番使いやすい方法
を用いた方がいいですよね。

勉強になりました。
1

スキルアップ/キャリアアップ(JOB@IT)