PHPを介して自動的にDBバックアップする

Last Updated: 2017 年 03 月 04 日 4のコメント

PHPスクリプトを使用して、自動的にMySQLデータベースのバックアップする

DBをバックアップするには、phpMyAdminにアクセスして、手動でバックアップを受けたり、Webホスティングでバックアップを提供する場合は、WebホチンでバックアップしたDBをダウンロードすることができます。 または WordPressを運営する場合、プラグインを使用してバックアップすることもできます(「WordPress バックアップ/復元する"参照)。

この他の方法で自動的にDBをバックアップするように設定する方法も考えてみることができます。 インターネットを検索してみると、様々なスクリプトが検出されています。 私は次のgithubのサイトで提供されるスクリプトを使用してphpスクリプトに自動的にDBバックアップするように設定しました。

スクリプトをダウンロードした以下のFTP経由でファイル全体をアップロードするようにします。 たとえば、[pocde] backup [/ pcode]フォルダを作成し、ファイルをアップロードすることができます。

次に config.sample.php ファイルの名前を config.phpファイルに変え、このファイルを開いて編集をします。

return array(
'backup_dir'    => 'D:/backup', // 백업 파일 경로
'keep_files'    => 50, // 저장할 파일 개수
'compression'   => '', // gzip, bzip2, etc, 압축 형식
'db_host'       => 'localhost',
'db_port'       => '3307', // DB 포트
'db_protocol'   => 'tcp',
'db_user'       => 'root', // DB ユーザー 이름
'db_passwd'     => 'password', // DB 비밀번호
'db_names'      => array(
'some_db1',
'other_db2',
'tvdb',
'airdb'
)
);

ファイルを開いてみると、上記のようになっています。 DB情報を適切に変更することをします。 そして、DBポートも確認するようにします。 仮に このブログがホスティングされている Bluehostの場合db_portは 3306입니다。

そして backup_dirを設定ヘジュオヤます。 Bluehostは次のように設定します。

/home/xxxxxx/public_html/backup

config.phpファイルで (圧縮)部分の設定も適切に変更します(例えば、 gzip)。 そして、そのフォルダ(例:backup)の下にDB名と同じフォルダ(例:/ backup / db_name)を一つ作るようにします。

これで、Cronジョブを設定して、必要な時間間隔でバックアップファイルを作成できます。 クロンジョブの内容は「WordPressでwp-cron.php無効にしてサイトの速度向上させる「部分を参考にしてください。

DBの自動バックアップ

テストをしてみると、上記の図のようにdb_name_日付形式で、DBファイルに対応するフォルダに格納されます。

上記のような方法が面倒なら WordPressの場合、プラグインを使用すると、簡単にDBをバックアップすることができます。 (このブログの場合DBが大きすぎて、プラグインでバックアップすると、失敗して、手動でバックアップを受ける方です。このような場合、上記の方法を使用すると、便利そうです。しかし、上記の方法を使用している場合でも、定期的に一回ずつ、手動にバックアップを取る置くより安全ではないかと考えますね。)


リンクされたスクリプトを使用してもdbが正しく保存されず、 error.logににディレクトリがないというエラーが表示されました。 スクリプトを作成し作成者にコメントを残そうとしてもコメントシステムが動作していなくてお問い合わせフォームから質問を送った。 質問を送信した後、すぐに答えが来ますね。 よくわからない内容を質問したとき、すぐに答えを受けると(スクリプトを公開してくれただけでもゴマウンデ)もありがとうございました。

私の個人メールでもたまに助けを求める問い合わせがきます。 その後、なるべく早く回答をしようと努力します。 内容を見ると、差し迫っが感じられる場合があります。 あまりにも忙しい場合を除き、メールを確認するとすぐに答えをしましたが、ほとんどの回答を与える何の反応がありません。〓〓よく受けたり、あるいは提示された方法や情報がうまく機能していること、あるいはよくないでもの応答を受信できない場合がほとんどです。 今年に入って特にそうですね。


4のコメント

コメント

  1. 参考に上記紹介したDBを自動バックアップするPHPスクリプトの作成者のCronジョブの設定は、次のようだとね:

    0 3 * * * / usr / bin / php /data/scripts/dbautobackup/backup_db.php >> /home/lysender/dbautobackup.log 2>&1

    応答
  2. こんにちは。

    突然気になる点が生じて似ていると思われるポストに気になる点をご連絡致します。

    WordPressでブログメニューを利用して投稿を続けてたら、今書いてくださったように

    DBに蓄積されると思います。

    今後このポストのDBを集めて、目的に合わせて加工するには大きな問題がないでしょうか?

    例えば私だけのマニュアルを作るとか、もう少し進むと本を作る利用できますか?

    全く知識がないため、DBがある場合は可能ではあると思うけど、あまりにも漠然としてみる

    基本であることもある部分についてお問い合わせをします。

    応答