■スクリプトはgithubにあります。 cronに設定しておくと、放っておいてもバックアップしてくれる。 get_new_hatenablog.sh https://github.com/labunix/get_new_hatenadialy_backup $ env EDITOR=vim crontab -e $ env EDITOR=vim crontab -l | grep -v ^# 15 20 * * * /home/labunix/hatena/get_new_hatenablog.sh $ cat ~/hatena/mydaialy_link.txt <a title="2012/04/23 Squeezeにclamavを導入。EICARチェック [20120423] " href="http:/d.hatena.ne.jp/labunix//" target="about:blank"> 2012/04/23 Squeezeにclamavを導入。EICARチェック [20120423] </a> ■はてなダイヤリーのRSS2を取得する ※トップページは無視できる。 $ w3m -dump "http://d.hatena.ne.jp/labunix/rss2" | \ grep "^\|^" | sed s/"\|\|\|"//g labunix の ラボゆにっくす http://d.hatena.ne.jp/labunix/ Squeezeにclamavを導入。EICARチェック http://d.hatena.ne.jp/labunix/20120423 実メモリを増やした場合のメモリ使用率を得る http://d.hatena.ne.jp/labunix/20120422 ftp自動転送スクリプト for linux http://d.hatena.ne.jp/labunix/20120421 vmnet8にIPマスカレード(Squeeze編) http://d.hatena.ne.jp/labunix/20120408 仮想マシンのsqueeze2台にDNSを導入 http://d.hatena.ne.jp/labunix/20120404 ■最新のはてなダイヤリー記事を取得する(1) $ w3m -dump "http://d.hatena.ne.jp/labunix/rss2" | \ grep "^\|^" | sed s/"\|\|\|"//g | \ grep "\|" | \ awk '{if(NR==3) print; else if(NR==4) print}' Squeezeにclamavを導入。EICARチェック http://d.hatena.ne.jp/labunix/20120423 ■過去のブログ取得法と組み合わせると「(NR==4)」の時だけでよいことが分かる。 $ cat get_new_myhatenablog #!/bin/bash # 環境変数の取り込みとはてなダイヤリーのバックアップディレクトリに移動 # 実行するユーザに注意 set -e MYPWD=~/hatena if [ ! -d "${MYPWD}" ];then echo "Error, Not FOUND ${MYPWD}" exit 1 fi cd ${MYPWD} # はてなユーザを変数で定義する # あなたが「labunix」以外のユーザのはてなダイヤリーの最新記事をバックアップ # したいと望むならここを書き換えてください。 USER=labunix # RSS2から最新のはてなダイヤリーのURLを取得 # 例えば、以下のような形式 # http://d.hatena.ne.jp/labunix/20120423 GETURL=$(w3m -dump "http://d.hatena.ne.jp/${USER}/rss2" | \ grep "^\|^" | sed s/"\|\|\|"//g | \ grep "\|" | \ awk '{if(NR==4) print}' | sed s%"\|"%%g) # はてなダイヤリーの記事固有のディレクトリ部分を取得 # 以下の形式 # yyyymmdd GETFILENAME=$(echo ${GETURL} | awk -F\/ '{print $5}') # 記事のバックアップが無ければ取得する # 取得したバックアップに「このエントリ」を含む行を取得する # if [ -f "${GETFILENAME}" ];then echo "Do Nothing" else w3m -dump "${GETURL}" > "${GETFILENAME}" LINKURL="`head -20 "${GETFILENAME}" | grep ^20 | sed s/"このエントリ.*"//g`" echo "${LINKURL}" >> mydaialy_link.txt # システムメールでお知らせ # 不要ならコメントアウトしても動作に支障は無い cat mydaialy_link.txt | mail -s "New Hatena Blog Backup" `whoami` fi unset MYPWD unset GETURL unset GETFILENAME unset LINKURL exit 0 ■RSS2で取得できる分よりも過去のネタを保存するには。。。 はてなダイヤリーのテキストモードバックアップ http://labunix.hateblo.jp/entry/2012/03/03/224721 ■日付の生成(最大値を得る) $ for year in 2012;do \ for day in `seq -w 01 31`;do \ for month in `seq -w 03 04`;do \ echo $year$month$day; \ done; \ done; \ done | wc -l 62 ■前回取得日以降、最新更新日以前で絞る $ w3m -dump "http://d.hatena.ne.jp/labunix/" | grep "閲覧回数"; \ for year in 2012;do \ for day in `seq -w 01 31`;do \ for month in `seq -w 03 04`;do \ echo $year$month$day; \ done; \ done; \ done | sort | grep -A 62 20120304 | grep -B 62 20120423 | wc -l 51 ■保存。単純PVの増加が見られないのは、プロキシ経由だったからのようだ。 $ w3m -dump "http://d.hatena.ne.jp/labunix/" | grep "閲覧回数"; \ for year in 2012;do \ for day in `seq -w 01 31`;do \ for month in `seq -w 03 04`;do \ echo $year$month$day; \ done; \ done; \ done | sort | grep -A 62 20120304 | grep -B 62 20120423 | for list in `xargs`;do \ w3m -dump "http://d.hatena.ne.jp/labunix/${list}" > "$list"; \ done; \ w3m -dump "http://d.hatena.ne.jp/labunix/" | grep "閲覧回数" 閲覧回数:54708回 閲覧回数:54708回 $ w3m -no-proxy -dump "http://d.hatena.ne.jp/labunix/" | grep "閲覧回数" 閲覧回数:54764回 ■ブログを書いていない日のファイルを削除 $ for list in *;do \ grep "20[0-9][0-9]/[0-1][0-9]/[0-3][0-9]" $list > /dev/null || rm "$list"; \ done $ ls 20120304 20120311 20120318 20120328 20120404 20120422 20120306 20120312 20120324 20120330 20120408 20120423 20120308 20120315 20120325 20120401 20120421 ■取得したリンクの一覧 $ for list in *;do \ LINKURL="`head -20 "${list}" | \ grep ^20 | sed s/"このエントリ.*"//g`"; \ echo "${LINKURL}"; \ done 2012/03/04 Debianのntpdでのslewモード [20120304] 2012/03/06 うるう秒の検証に使えそう ntptime [20120306] 2012/03/08 Debian Lenny/Squeezeでのうるう秒対策まとめ [20120308] 2012/03/11 Debian Lenny にsquidGuardを導入 [20120311] 2012/03/12 SqueezeにもsquidGuardを導入 [20120312] 2012/03/15 debian SquidGuardでブロックログを出力 [20120315] 2012/03/18 設定、ログファイルからiptablesコマンドに変換する [20120318] このエン 2012/03/24 bashで人気言語アンケートサイトの結果をcsvに変換してみる [20120324] 2012/03/25 NICTとDebianの時刻同期をIPv4に固定する [20120325] 2012/03/28 Lennyのapt-get(sources.list)をアーカイブ参照に変更する [20120328] こ 2012/03/30 Lenny amd64版をSqueezeにアップグレード [20120330] 2012/04/01 仮想マシンのSqueezeを256MBで快適にする [20120401] 2012/04/04 仮想マシンのsqueeze2台にDNSを導入 [20120404] 2012/04/08 vmnet8にIPマスカレード(Squeeze編) [20120408] 2012/04/21 ftp自動転送スクリプト for linux [20120421] 2012/04/22 実メモリを増やした場合のメモリ使用率を得る [20120422] 2012/04/23 Squeezeにclamavを導入。EICARチェック [20120423] ■最近、はてなの「いつまでもベータ」っぷりに呆れかけている今日この頃です。 いつでも移行出来るよう、バックアップを自動で行っておきましょう。。。 ところで移行先をどうしようか。。。