webcode-labサイトロゴ

  • お問い合わせへのリンクバナー

Webcode Laboratory
for website coding & program & seo;

Topics

この Blog CMS について
定期的に自動で!(3)サーバーCronの設定方法―WEBサイトデータ自動バックアップ【Cron PHP Mysql】― レンタルサーバーXserver編 eyecatch画像

定期的に自動で!(3)サーバーCronの設定方法―WEBサイトデータ自動バックアップ【Cron PHP Mysql】― レンタルサーバーXserver編

rss

WEBサイトを〇日前に戻したい!


過去〇日分のWEBサイトデータのバックアップを取っておくんだった!あせあせ angry な事態はプログラマでなくとも経験があるかと思います。

自身で、WEBデータをまるごと、毎日など定期的タイミングでサーバーへ自動保存しておけば、いざという時に困った事態でもすぐにバックアップデータから無料で(ほとんどのレンタルサーバー会社は有料)取り出せます。
前回までの記事で、WEBサイトファイルデータ(HTML・CSS・JS・画像等)と、DBデータの自動保存方法(PHPサンプルコード)をご紹介しました。

1回目は「 (1)WEBサイトファイルデータを、自動でサーバーBACKUP保存する方法【PHP】」、
2回目は「 (2)データベースSQLデータを、自動でサーバーBACKUP保存する方法【PHP Mysql】」、

今回は、「(3)サーバー側 Cron設定方法 」です。
1・2回目紹介のプログラムと組み合わせてCronを設定してください。



 

(3)Cron設定方法


Cronで指定したタイミングで、自動的にphpプログラムを実行させます。
cronを使用できることがサーバー必要条件になります。
毎日保存させたり、週一度保存させたり、とタイミングは好きに自由に設定できます。

今回はレンタルサーバー会社、 「xserver」の「PHP7.0」環境を例にしたご紹介となります。(コマンドの書き方は、サーバーやPHPバージョンによって異なります)
別サーバーの場合、適宜コマンドを書き換えてください。
 

BACKUPイメージ


 

 
実行PHPフォルダの場所

今回は、下記のような階層構造とします。
※ 実行PHPフォルダをルート上位に作成していますが、どこでも好きな場所に作成してください。

│(root上位)
├  backup/ … 実行PHP 設置ディレクトリ
│ ├ web_backup.php … 「Webサイト」バックアップ実行PHP
│   ├ database_backup.php … 「Mysql」バックアップ実行PHP
│   └ backup_data/
│ 
└  root(public_html)/
    │
    │
  WEBサイトのディレクトリ・ファイル

 
cronの設定

※サーバーによりcron使用が不可の場合や、PHPバージョンによりコマンドパスの書き方に違いがあります。
※今回は「xserver」PHP7.0の例です。
※また、実行するPHPファイルに対し、実行権限を付与するパーミッション(「705」「755」など)に変更の必要がある場合があります。

それでは、前回・前々回記事で作成した、「web_backup.php」と「database_backup.php」のスクリプトファイルをcronで発動(実行)させます。
 

Cronコマンドの記述例(※xserver php7.0例)
/usr/bin/php7.0 /home/サーバーID/独自ドメイン名/backup/web_backup.php
/usr/bin/php7.0 /home/サーバーID/独自ドメイン名/backup/database_backup.php


 

Cronの発動タイミング

好きなタイミング(毎日深夜3:00に、毎週月曜日の深夜4:00になど)の設定をし、上記コマンドを発動します。
この際、WEBサイトデータの保管は、データ量によってはサーバーシステムに高負荷がかかるので、
なるべくアクセス数の少ない深夜や早朝などの時間帯に設定した方が良いと思います。

例)毎日4:00に実行する場合
cronの設定





これで、WEBサイトに関わる全データ、WEBファイルデータとデータベースの好きなタイミングでの自動保存が完了です。


前々回の記事 ―「 (1)WEBサイトデータを、自動でBACKUP保存する方法【PHP】
前回の記事 ―「 (2)データベースSQLデータを、自動でBACKUP保存する方法【PHP Mysql】
 
 
ページの先頭へ

rss