今さら聞けない! レンタルサーバの選定と便利な使い方 最終回

今さら聞けない! レンタルサーバの選定と便利な使い方 最終回
最終回 バックアップを取得しよう


「絶対に落ちないWebサーバ」、「絶対にデータが消えないWebサーバ」は、現在の技術を以ってしても実現しない。残念ながらそういったものは存在しないのが現状だ。そのため、みなさんには万が一に備えたバックアップをおすすめしたいのだが、バックアップの取得には時間がかかったり、保存先のハードディスクを逼迫(ひっぱく)したりするといった問題が生じてくる。そこで最終回では、より簡単で確実にバックアップを行う方法を紹介したい。

解説・文:阿部正幸(KDDIウェブコミュニケーションズ)




■バックアップを取得する

 みなさんは、普段どのようにバックアップを取得しているのだろうか。よく聞くのが「FTP接続を行い、Webサーバに接続してから、すべてのファイルやフォルダをダウンロードする」といった方法だ。ただ、この方法でもバックアップは可能だが、FTP接続でファイルやフォルダをダウンロードすると、どうしてもファイル数や容量に応じてバックアップ時間が肥大し、途中でFTP接続が切断され、バックアプに失敗することがある。

 そこで、バックアップを行うときにオススメしたい方法が、Webデータのファイルやフォルダを圧縮した後にダウンロードを行う方法だ。圧縮を行うと、複数あるファイルやフォルダが1ファイルにまとめられ、さらに容量も軽くなるので、素早く確実にバックアップを行うことができる。圧縮を行うには、SSH接続を行いWebサーバにログインし、そのサーバ上でコマンド操作を行う必要がある。コマンド操作というと敷居が高そうに思いがちだが、いくつかのコマンドを覚えるだけで操作ができるようになるので、ぜひ覚えてほしい。

[今回使用するコマンド]
・ls:今いる階層のフィルやフォルダのリストを表示する
・tar:ファイルやフォルダの圧縮・解凍を行う

[Webコンテンツの圧縮方法]
・WebサーバにSSH接続を行う
 ※SSH接続の方法は各社違うので、各社のヘルプページを参照するといいだろう


(▲クリックして拡大)
SSH接続を行うと次のコマンド入力画面となる

・まずはlsと入力しEnterキーを押下する
・現在の階層にあるファイルやフォルダの一覧が表示される
 次の画面では3つのフォルダが表示された。
 デモで使用しているサーバは「html」というフォルダ配下にWebデータが格納されているので、「html」フォルダの圧縮を行う


(▲クリックして拡大)

・コマンドラインより「tar zcfv html.tar.gz html」と入力しEnterキーを押下する。
(tar オプション 圧縮後のファイル名 圧縮対象)
・圧縮が完了すると再度コマンド入力画面に戻るので、再度lsと入力しEnterキーを押下すると、新しくhtml.tar.gzファイルが追加された。


(▲クリックして拡大)

新しく追加された「html.tar.gz」ファイルがWebコンテンツを圧縮したファイルとなる。このファイルをFTP接続しダウンロードを行うと、今までよりも素早く確実にダウロードすることができる。


■バックアップを自動取得する

先ほど紹介した、圧縮のサーバコマンドだが、PHPやPerlなどのサーバサイドプログラムからも実行することができるので、PHPを使った簡単な方法を紹介しよう。

・tar.phpファイルを新規作成し、次のようにコードを記述する。
※システムコマンドをバッククォートで囲うことで、PHPからサーバコマンドを実行することができる。

----------------------------
<?php
//システムコマンドを実行する
`tar zcfv /usr/home/UserID/html.tar.gz /usr/home/UesrID/html`;
echo 'htmlフォルダが圧縮されました。';
?>
----------------------------

・コードを記述したらファイルを保存し、Webサーバにファイルをアップロードする。
・WebブラウザからアップロードしたファイルにアクセスするとWebコンテンツが圧縮され、ファイルが生成される。


(▲クリックして拡大)

・「tar.php」ファイルをCronなどの定期実行ツールに登録する事で、定期的に自動でバックアップファイルを生成できる。



■圧縮したファイルを外部ストレージサービスに転送する

Webサーバに圧縮ファイルを生成したが、そのファイルを外部ストレージサービスなどに転送することで、さらにバックアップの信頼度が増す。

今回はDropboxという外部ストレージサービスに圧縮ファイルを転送する方法を簡単に紹介しよう。

・DropboxのDevelopersページにログインを行い、App登録を行う。

url:https://www.dropbox.com/developers


・登録後、Developerページにサンプルコードとドキュメントが設置されているので、各環境に合わせて設定を行い、設置したプログラムをCron登録することで、定期的にバックアップファイルを外部ストレージに転送することが可能だ。なお、PHPのサンプルコードは以下に掲載されている。
url:https://github.com/BenTheDesigner/Dropbox




本連載では、用語解説や各サーバの特長などの基礎的なものから、サーバ選定や使用に役立つ豆知識などを紹介してきた。サーバはWebサービスを下で支えるためのサービスに過ぎないが、使用用途によってマッチするサーバは違うし、サーバ本体にもさまざまな機能がついている。これら各サーバの特長や機能を理解し使用することで、余計な作業やトラブルが減り、これまで以上にWeb制作に専念でき、また、Web制作の現場によく見られるWeb制作以外の目に見えない時間やコストを軽減することができるはずだ。


例えば、当社のホスティングブランド「CPI」の共用サーバでは、テストサイトと公開サイトを同じ環境にし、アップロードとバックアップがワンクリックで可能になる、サーバーツール「SmartRelease」が標準搭載されている。「SmartRelease」は、Internet Explorerなど各種Webブラウザからコントロールパネルにアクセスできるため利用環境を問わず、アップロードミスやファイルの先祖返りなどといった、Web制作にまつわる諸問題を解決してくるサーバツールだ。


(▲クリックして拡大)
※図版はCPIホームページより抜粋


これまでの一般的な制作フロー(左)
SmartReleaseの制作フロー(右)

同じようにホスティングサーバでは、各社で便利な機能やサービスが付随していることが多く、上手に利用することが大切だ。共用サーバを検討する際などに検討するといいだろう。


最後に、第1回目から6回目までお付き合いいただいた読者に感謝を述べたい。本当にありがとう。今回、紹介しきれなかった便利な機能や使い方などは、CPIスタッフブログでも掲載しているので、ぜひそちらも参照いただければと思う。



[プロフィール]
KDDIウェブコミュニケーションズ
企画開発本部 阿部正幸

●Web制作の現場でプログラム、ディレクションなどを担当。現在は、ホスティングブランド『CPI』の共用サーバのプロダクトマネージャーを担当し、先日提供を開始したサーバツール「SmartRelease」の企画・立案を行う。url:http://www.cpi.ad.jp/shared/smartrelease/

2012/09/26

MdN DIのトップぺージ