素人がプログラミングを勉強していたブログ

プログラミング、セキュリティ、英語、Webなどのブログ since 2008

連絡先: twitter: @javascripter にどうぞ。

はてなダイアリーのデータを定期的にバックアップする

diary_backup/backup.rb

#!/usr/bin/env ruby
require "rubygems"
require "mechanize"
require "yaml"

config = YAML.load_file("config.yaml")
USER_NAME = config["username"]
PASSWORD = config["password"]
DIR = config["dir"]

agent = WWW::Mechanize.new
agent.post("https://www.hatena.ne.jp/login", {"name" => USER_NAME, "password" => PASSWORD, "persistent" => 1})

unless File.exist?(DIR)
  Dir.mkdir(DIR)
end
agent.get("http://d.hatena.ne.jp/#{ USER_NAME }/export").save_as("#{ DIR }/#{ USER_NAME }-#{ Time.now.strftime("%Y-%m-%d:%H:%M:%S") }.xml")

diary_backup/config.yaml

username: javascripter
password: *****
dir: data

diary_backup/dataを作って、あとはcrontab等で一日ごとにデータをダウンロードする。