Linuxのコマンドで他人のWebサイトを取得する方法について以前wgetを紹介いたしました。
参考)海外レンタルサーバhostmonster ~cronを用いたジョブ/処理の定時キック
今回は、先日発生したファーストサーバーデータ消失事件を教訓に、FTPを使用できないレンタルスペースにおける、自サイトのバックアップ方法を紹介いたします。
サーバートラブル以外にも突然のサービス終了が言い渡されない無料のレンタルサーバーでは、大抵機能がチープで特に携帯向けのフリースペースなどでは、SCP/SFTPはおろかFTPによるデータの転送機能すら使えないことが多々あると思います。
Contents
getHTMLW
http://www.vector.co.jp/soft/win95/net/se077067.html
そこで手軽にWebサイトのバックアップを行えるのはGETHTMLWというツールです。
本来は、他人が提供しているWebサイトを、ローカルのパソコンに丸ごと落とし込み、後でオフラインでゆっくり読むために開発されたツールですが、これを簡易的なWebサイト/ブログのバックアップに用いるというのが最も簡単な方法です。
ルートとなるページのURL(TOPページなど)を指定すれば、そのページに含まれているリンクURLをたどり、再帰的にページのバックアップを取得してくれます。綺麗に取りきれるとは限りませんが、手動でひとつひとつページを開いてソースを取得するよりはるかに効率はいいでしょう。
ただしこのgetHTMLは保存したサイトの閲覧に少々複雑な設定(プロキシ設定)をする必要があります。
2012/11/13 ぼくんちのTV別館 ブログやHPを丸ごと保存するフリーソフト:GetHTMLW(プロキシ設定解説あり)
getHTMLを管理者権限で実行すると、Windows OS導入フォルダ(C:\Windowsなど)に「proxycfg.pac」というファイルが生成されます。これを使用しているブラウザの「プロキシ設定」欄に「自動プロキシ設定スクリプト」として登録し、getHTMWを閲覧するときだけこの設定を有効にする必要があります。
また、ページ内のリンクを絶対パスのまま取得するため、サイトの引越しのために本ツールを使用するのには向いていません。
例えば「http://yahoo.co.jp/index.html」というページがあり、「http://yahoo.co.jp/test/01.html」へのリンクを含んでいるとします。
リンク先が絶対パス「http://yahoo.co.jp/test/01.html」」のままリンクをたどると、当然ながら「http://yahoo.co.jp/test/01.html」」ページにそのまま移動してしまいます。つまりリンク先はバックアップしたWebページファイルではなく、本当のページに飛んでしまうわけです(そのために上述のプロキシ設定が必要になっています)。
そこで相対パスへの変換機能があるバックアップツール(以下WeBOXなど)を利用すれば「./test/01.htm」というリンクに変換してくれることで、パソコン内に落としたバックアップしたWebページをみる場合や別のサイトへ引越しを行う場合にその環境内に保存した構成へきちんとページ移動することができます。
つまり「http://google.co.jp/」というドメインへ引っ越した場合、相対パス「./test/01.htm」へリンクを変換してくれれば「http://yahoo.co.jp/test/01.html」ではなく「http://google.co.jp/test/01.html」へ遷移します。
WeBOX
http://webox.sakura.ne.jp/software/webox/download.html
上述のgetHTMWの2点の使いにくさが解消されているWebページバックアップツールです。プロキシの設定も不要ですし、相対パスへの変換機能ももっています。
その代わりWeBoXは指定したドメインまたはディレクトリ以下に存在するリンクのみを辿って保存を行います。LivedoorBlog、SeeSaaBlog、FC2ブログなど画像や動画などを別ドメインで管理しているブログでは、別ドメインにある画像については取り込む事はできません。
2011/11/29 ぼくんちのTV別館 ブログやホームページをまるごと保存。その他いろいろ機能満載なフリーソフト、WeBoX
mixiやアメブロなどのブログやログイン認証が必要なコミュニティー/サークルのバックアップを取得する方法は以下を参照ください。
参考)mixiのコミュニティーを含めたバックアップを取得できるツール ~ 撤退!mixi