事態はプログラマでなくとも経験があるかと思います。変更前に戻したい、複数人作業で上書きしてしまった、改修中に壊れてしまった、クライアント側で間違って削除してしまった、WP等のバージョンアップを戻したい、数日前の状態に戻せ指令が出た、ウイルスに感染した、、、などなどの理由で、過去のデータに戻したいことありますよね。GitHubなどで管理していて過去データに戻せれば問題ないこともありますが、バックアップデータを管理していない場合や、データベースがWEB上で日々更新される場合に、WEBサイト・データベースの、両方のWEBバックアップをサーバーに日々取っておくと、いざという時にとっても便利な事態がよくあります。自身で、WEBサイトデータまるごとのバックアップを、毎日など定期的なタイミングでサーバーへ保存しておけば、いざという時に困った事態でもすぐに無料で取り出せます。いっても手動で日々保存するなんてありえないって時の、そして後から後悔しない、自動保存方法のご紹介です。WEBサイトのファイルデータ(HTML・CSS・JS・画像等)と、データベースとに、自動保存プログラムを分けて説明します。今回は1回目「(1)WEBサイトファイルデータを、サーバーへ自動でBACKUP保存する方法【PHP】」のサンプルコードです。(1)WEBサイトファイルデータを、自動でBACKUP保存する方法【PHP】WEBサイト全体のファイルデータ(HTML・CSS・JS・画像等)を、圧縮してサーバー上に保存する方法です。Cronで自動的に毎日保存させたり、週一度保存させたり、とタイミングは好きに自由に設定します。永遠にバックアップを取り続けるとサーバー容量を圧迫するので、一定期間を過ぎた古いデータファイルは削除する処理も加えます。同時に、一定期間以上の古いファイルは削除する(PHPプログラム、systemコマンドで実行)という構成です。いうわけで、cronを使用できることもサーバー必要条件になります。今回はレンタルサーバー、「xserver」の「PHP7.0」環境を例にしたご紹介となります。(コマンドの書き方など)別サーバーの場合、適宜コマンドを書き換えてください。今回は、下記のような階層構造とします。例では実行プログラム/バックアップデータ保管場所を、ルート上位に作成していますが、どこでも好きな場所に作成してください。「バックアップデータ保管ディレクトリ」を含めてバックアップし続けると、バックアップ容量がどんどん増加していきます。「バックアップデータ保管ディレクトリ」を除いてバックアップするよう、注意してください。今回例では、WEBサイトデータは、web_bkup_2018_05_01_03_00.tar.gzのような圧縮ファイル保存形式となります。サンプルコード(web_backup.php)ルート直下の「_backup_php」ディレクトリ内にこの実行ファイルをUPします。今回はファイル名で日付がわかるよう出力日をファイル名にしています。必要であればフォルダのパーミッションを元に戻す※保管する期間(過去何日まで保管するのか)は、サーバー容量を超えないよう、サイトデータのサイズ(容量)も念頭に、調整してください。上記2の「BACKUP実行」の末尾に「指定ディレクトリを除くコード」を追加します。「--exclude」で、除外ディレクトリを指定します。下記のように指定します。);日々のバックアップが取れていると、制作する上での安心感が格段に違います。どのプログラムやHTML・CSS・JS等の変更で、エラーが出たりおかしな結果になってしまったのか見当がつかない!なんてことで1日、下手すると数日費やすこともままあります。無駄な時間を省いて、安心して作業するためにも、日々のバックアップをとっておくと心強いこと間違いなしです。PHP実行ファイルの作成は以上です。後は、毎日どこかのタイミングで自動的に実行ファイルを動かす必要があります。Cron設定」を組み合わせて、自動保存が完成です。※コメントへの返信は基本的に行っておりません。あしからずご了承ください。いただいたご意見・ご質問等は、公開が有益な場合公開させていただき記事内で返答させていただきます。※場合によりご連絡をさせていただく際のご了承をいただける方は「了承」にチェックをお願いします。