ブログ@ナチュラムとはアウトドア用品・釣り具のインターネット通販サイト「ナチュラム」による無料のブログホスティングサービスです。
アウトドア・釣りという共通の趣味を持ったユーザー間のヨコの繋がりにより、ブログサービスというよりは一種のコミュニティと化しているのが特徴です。
さて、このブログ@ナチュラムですが、先日発生したナチュラムでの不正アクセスによる大規模な個人情報流出と事後の粗末な対応が一部ユーザの怒りをかっており、引越し需要がちょっぴり増えている雰囲気です(私も住所・氏名・電話番号・メールアドレス・生パスワード(ハッシュとかでは無い)・クレジットカード全て流出されてしまったクチだったりして...)。
そういうわけでブログ@ナチュラムのバックアップについて書いてみます。
(1)テキストのバックアップ
ブログ@ナチュラムにはMT(MovableType)形式での読み出し・書き出し機能が備わっています。管理画面から書き出し機能を利用することによりテキストのバックアップが可能です。

(2)画像のバックアップ - wget編
書き出し機能では画像がバックアップできませんが、wgetで以下の様に引数を指定して画像のみダウンロードすることが可能です。
$ wget -r -p -A .jpg,.gif,.png -H -Dimg01.naturum.ne.jp,your-sub-domain.naturum.ne.jp http://your-sub-domain.naturum.ne.jp/
カテゴリ、タグ、月ごとのアーカイブのようなページも読み込んだりして少々冗長ですが、一応目的は果たせています。リクエストを集中させるのが気になる場合は-wオプションでwaitを入れるのがいいかと思います。
(2')画像のバックアップ - perl + wget編
実はwgetだけでは無理だと思いこみ、(2)の前にperl+wgetで以下のようにやってました。
natulogimg.pl - 画像のURLを列挙
#!/usr/bin/perl
use strict;
use warnings;
use WWW::Mechanize;
my $blogurl = shift @ARGV
or die "Usage: perl $0 http://subdomain.naturum.ne.jp/\n";
my $mech = WWW::Mechanize->new;
$mech->get("$blogurl/sitemap.html");
foreach ($mech->find_all_links(url_regex => qr|^e[0-9]+\.html$|)) {
$mech->get($_->url_abs);
foreach (
$mech->find_all_images(
url_regex => qr|img01\.naturum\.ne\.jp|
)
) {
print $_->url_abs, "\n";
}
}
wgetの標準入力に画像URLを与えてダウンロードさせる(-ncによりダウンロード済みのURLは処理させない)
$ perl natulogimg.pl http://your-sub-domain.naturum.ne.jp/ | wget -nc -i
ということで、やり方はどうあれこの手のホスティングサービスを利用している場合は不測の事態?に備えて定期的にバックアップを取っておきたいものですね。
<関連リンク>