回答:
次のpg_dump
ように使用できます。
$ pg_dump -h db_host -U user_name db_name > dump_file.sql
.pgpass
接続にパスワードが必要な場合に使用されるパスワードを含むファイルを設定することをまず考えてください。このファイルには、次の形式の行が必要です。
hostname:port:database:username:password
また、最初の4つのフィールドはそれぞれ、リテラル値、または*であり、これはすべてに一致します。例:*:*:*:postgres:pg_password
。
この.pgpass
ファイルはホームディレクトリ〜/に存在する必要があり、そのアクセス許可はワールドまたはグループへのアクセスを禁止する必要があります。コマンドでこれを達成してください
chmod 0600 ~/.pgpass
。
cronからpg_dumpallを実行します。
AutoPostgreSQLBackupを試してください。単一のスクリプトファイルであり、ニーズに合わせて簡単に構成でき、毎日、毎週、毎月のスケジューリング、電子メールごとのログ、ログファイルまたはstdoutなどを実行できます。
適度に小さいデータベースで、バックアップの要件が1日1回程度であれば、cronからpg_dumpを実行してローカルファイルにダンプし、マシン上のファイルをバックアップするために必要なものを使用してダンプをアーカイブします。 。
astrails-safeを試してください。mysql(mysqldump)、postgres(pg_dump)、または単なるファイル(tar)を暗号化(gnupg)でバックアップし、S3 / Sftpにアップロードする方法を知っています。
pg_dumpは良い解決策ですが、大量のデータをバックアップしようとしている場合、おそらくこれが役立つかもしれません:
http://www.postgresql.org/docs/8.1/static/backup-online.html
これは実際には一種の「生の」ロギングですが、それは増分バックアップ方法として役立ちます...
これは、各データベースを個別にバックアップするだけでなく、しばしば忘れられるが重要なPostgreSQL GLOBALSとユーザーログイン情報をバックアップするスクリプトです。
これの重要性は、pg_dumpallが提供しない圧縮とpg_dumpが無視する忘れられたデータを利用することです。
これには、http: //wiki.postgresql.org/wiki/Pgpassで説明されているpgpassまたは同様のセットアップが必要です。
これはOSXのセットアップですが、プログラムパスを変更するだけで正常に機能します。
/ sqlbackupsへのバックアップスクリプトはディレクトリサイズ/ディレクトリを返し、失敗した場合にゼロ以外のステータスを返すブレークポイントを持っています。pgAgentと組み合わせて使用して、毎日のバックアップを行いました。
スクリプトが編集されました。ごめんなさい:(
あなたは簡単に持つことができるのに、なぜ毎日のバックアップで落ち着くポイントインタイムリカバリでバーテンダーを?
他の人が言ったように:pg_dumpall。
また、ログ配布を見てください。その後、再生できるポイントインタイムバックアップをさらに取得できます:http : //www.postgresql.org/docs/8.3/static/runtime-config-wal.html
または、マニュアルのバックアップに関するセクションはどうですか: