2011-08-14 7 views
0

関連するコードスニペットとその提案をいくつか読んだことがありますが、私のタスクの合意はないと思いますもう一度聞くためにいくつかの質問を組み合わせています。また、他のものはかなり古いだった、と私はいくつか更新された応答を取得したいのですが...PHPを使ってMySQLデータベースをバックアップし、別のサーバにアップロードするためにファイルを暗号化します

ゴール

  • これをインポートすることができたように(完全にSQL DBをダンプDBを一掃する必要があります...)。理想的には、このSQLダンプをPHPMyAdmin経由でインポートすることができます。
  • ダンプをとり、PHP5で暗号化します(私はmcryptと考えています)。
  • 暗号化されたファイルをPHPのSSH2経由でリモートサーバーにアップロードします。
  • ローカルの暗号化されたファイルとローカルの暗号化されていないダンプを削除します。逆で

- 私はバックアップが保存されているリモートサーバに保存したバックアップ

  • 手動SFTPにアクセスする必要があるはずです。
  • 暗号化されたバックアップをドンロードします。
  • 復号化します。
  • 手動インポートバックのMySQLへのPHPMyAdminの

を経由して私は本当に逆のプロセスを実行するためのスクリプトを必要としません。私はバックアップが必要なのですが、私はすでに物事をバックアップして実行することに深く関わっています。したがって、手動で解読することは問題ではありません。しかし、私はが、の方法で、PHPマニュアルを読んでいることを知っていることを確認したいと思っています。

答えて

1

ありがとうございます。私はPHPMySQLAutoBackupで事前に構築された優れたソリューションを見つけました。私はGPGで暗号化するコードをsystem()を使って追加していますが、現時点では苦労していません。 GPGの問題が引き続き発生する場合は、新しい質問を開きます...

1

本当に簡単です。

PHPでスクリプトを作成する場合は、問題ありません。しかし、おそらく多くのPHP機能は必要ありません。基本的には、単純な制御構造shell_exec()を使用して、mysqldump、gpg(または他の暗号ユーティリティ)、scp(データをオフサイトに送る)などのコマンドラインツールを駆動します。 unlink()を使用してローカルコピーを削除します。

コマンドラインツールへのポインタが必要なようです。私は、私が上記を使用するだろうと述べた。それを超えて、適切なコマンドライン文字列とexec()またはshell_exec()を組み合わせるだけです。

関連する問題