1

PHPとPostgreSQLを使用したHerokuのアプリがあります。ここで、データベースのバックアップを定期的に作成するか、サーバー上のフォルダーに配置するか、S3URLを記録してダウンロードします。

  • 私はこのトピックについて研究を行っています。私がすでに持っていて、ローカルコマンドラインで使用できるpgbackupsアドオンを使用するのが最善のようです。heroku pgbackups:url --app=APP_NAME

  • プロセスを自動化したい、たとえばcronジョブで。Herokuにはワーカーがいるようですが、私はそれらを使用したことがなく、これはまだ開発環境です。無料プランには労働者がいません。その上、私のアプリは実際にはバックグラウンドワーカーを必要としません。データベースの自動バックアップのためだけにワーカーdynoを購入したくありません。どちらに行けばいいですか?

  • HerokuでPHPcronジョブを作成できる場合は、次のことを知っておく必要があります。PHPでHerokuコマンドを実行するにはどうすればよいですか。execとpassthruを試しましたが、Herokuサーバーでは動作しないようです。私のローカルホストでは、上記のコマンド(heroku pgbackups)は非常にうまく機能し、ローカルサーバーにインストールされたHerokuツールベルトを提供します。

  • Rubyの場合、サーバー側コマンド用のhttps://github.com/heroku/ツールキットがあります。しかし、PHPブランチを検索するのに運がありませんでした...

全体的な目的は、DBをバックアップし、サーバーに保存してダウンロードすることです。(Herokuはそれ自体でバックアップを作成しますが、私たちはそれを私たちの手で見たいと思っています:)

どうすればそれを実現できますか?

4

1 に答える 1

1

おそらく最善の方法は、バックアップサーバーでcronジョブを実行heroku pgbackups:urlして、最新のpgbackupへのURLを取得し、それをでダウンロードすることcurlです。このようなもの:

curl $(heroku pgbackups:url) > latest_backup

詳細については、 httpsheroku pgbackups:url://devcenter.heroku.com/articles/pgbackups#downloading-a-backupを参照してください 。

ワーカーdynoで何かを行うことは、バックアップサーバーをダウンロードして再アップロードしない限り、バックアップサーバーにバックアップを取得するのに実際には役立たないため、実際には意味がありません。バックアップサーバーでcronジョブを実行するだけで、一度ダウンロードする方がはるかに簡単です。

于 2013-02-07T22:52:21.853 に答える