20時49分
概要をスキップして本文へ

インストールを終えてから一つのオブジェクトを同期させるまでの最短手順を示します。curl コマンドは /usr/bin/ にあることが前提です。

ここでは例として、このサイトのコメントの RSS のオリジナルに変換をかけた上でこのサイトにアップロードするケースを取り上げます。HaloScan設定文字コードを UTF-8 にしているものとします。この例は実際に行っています。

準備

前提

このドキュメントで示す手順は curl コマンドが /usr/bin/ にあることを前提としています。なぜならば CacheUpIt のデフォルトでは curl コマンドのフルパスを /usr/bin/curl としているからです。お使いのシステムで curl コマンドのフルパスが /usr/bin/curl であるかどうかを確認するには次のようにします。

$ which curl
ここに curl コマンドのフルパスが出力されます

もしこれの出力が /usr/bin/curl でないときはシステムレベルの設定ファイルを作成する必要があります。システムレベルの設定ファイルについてのドキュメントは現時点では作成していません。作成したらこの部分を書き換えハイパーリンクを付けます。

確認事項

設定を始める前に次のことを確認しておいてください。

同期元のオブジェクトの URL

同期させるオリジナルのオブジェクトの URL です。

例えば http://www.haloscan.com/members/rss.php?user=cacheupit です。

同期先のフォルダの URL

同期させる複製側のオブジェクトを置く場所の URL です。最後に / は要りません。

例えば http://idisk.mac.com/yuji_okamura/Sites/DotMac/CacheUpIt です。

同期先のユーザ名

同期させる複製側のオブジェクトを置く場所にアクセスするためのユーザ名です。

例えば yuji_okamura です。

同期先のパスワード

同期させる複製側のオブジェクトを置く場所にアクセスするためのパスワードです。

これは秘密ですが、仮に secret としておきます。

取り決め事項

設定ファイルを記述する上で次のことを決めておいてください。

同期項目名

これはログの出力を単純にするために付ける名前です。ログの出力に使われるだけでなく同期に関する情報を保存する場所のディレクトリ名の一部としてもしようされます。ですからお使いのシステムでディレクトリの相対パス名として使用できる文字列でなければなりません。相対パス名ですから / を使って階層的にすることができます。

例えば HaloScan/CacheUpIt/Comments です。

同期先の名前

同期先のディレクトリを表す名前です。同じディレクトリに複数のアップロードをするときに、個別にその URL やユーザ名、パスワードを設定するのは煩雑です。ですから CacheUpIt の設定ファイルではこれらの情報をひとまとめにして記述します。そのまとまりに付ける名前です。

例えば CacheUpIt です。

同期先でのファイル名

同期先におけるファイル名です。同期元のファイル名をそのまましようできない場合があるので同期先でのファイル名を与える必要があります。

例えば haloscan.xml です。

同期間隔

同期する間隔です。デフォルトでは 5 分単位で決めます。

例えば 3 です。これは 5 × 3 = 15 で、15 分間隔となります。

設定ファイルの作成

ファイル ~/.CacheUpIt.conf に各内容は一般には次のようになります。

$Conf{cache} = [
  {
    name  => '同期項目名',
    uri => '同期元のオブジェクトの URL',
    interval  => 同期間隔,
    upload  => {
      place => '同期先の名前',
      fname => '同期先でのファイル名',
    },
  },
];

$Conf{uploadPlace} = {
  同期先の名前  => {
    uri => '同期先のフォルダの URL',
    user  => '同期先のユーザ名',
    passwd  => '同期先のパスワード',
  },
};

これに準備で示した例を適用すると次のようになります。ただし、現時点では HaloScan のバグで RSS 中のマルチバイト文字が途中で切られてしまっています。これを補正するオプション設定も加えます。

$Conf{cache} = [
  {
    name  => 'HaloScan/CacheUpIt/Comments',
    uri => 'http://www.haloscan.com/members/rss.php?user=cacheupit',
    interval  => 3,
    upload  => {
      place => 'CacheUpIt',
      fname => 'haloscan.xml',
    },
    operation => sub {
      my  ($ifh, $ofh) = @_;

      while (my $line = <$ifh>) {
        if ($line =~ m/\.\.\.<\/description>/) {
          $line =~ s/[\xC0-\xDF]\.\.\.<\/description>/...<\/description>/
            or
          $line =~ s/[\xE0-\xEF][\x80-\xBF]\.\.\.<\/description>/...<\/description>/
            or
          $line =~ s/[\xE0-\xEF]\.\.\.<\/description>/...<\/description>/;
        }
        print $ofh $line;
      }
      1;
    },
  },
];

$Conf{uploadPlace} = {
  CacheUpIt  => {
    uri => 'http://idisk.mac.com/yuji_okamura/Sites/DotMac/CacheUpIt',
    user  => 'yuji_okamura',
    passwd  => 'secret',
  },
};

このとおり、設定ファイルにはパスワードが含まれます。ですからたとえ一人で使うシステムであったとしてもファイルのパーミッションには気を使いましょう。次のようにして自分以外は参照できないようにしておきます。

chmod 0600 ~/.CacheUpIt.conf

Mac OS X ユーザのための補足

設定ファイル ~/.CacheUpIt.conf はお使いの Mac のローカルディスクの「ホーム」に置かれる隠しファイルです。隠しファイルなので通常はエディタから command-O でファイルダイアログを開いても選択することができません。Terminal 上のエディタ vim で編集すればよいのですが、vim は GUI を備えたエディタの操作とは全く異なる操作系です。ですから vim の操作方法を覚えて使用するのはかなり苦痛でしょう。そこで Mac OS X ユーザ向けに標準のエディタである テキストエディット で ~/.CacheUpIt.conf を編集する方法を提示します。ここで操作を示すために使用したテキストエディットのバージョンは 1.4 で Mac OS X のバージョンは 10.4.2 です。

新規作成

~/.CacheUpIt.conf を新たに作成するときは次の手順で行います。

  1. アプリケーションフォルダのテキストエディットを開く。

    テキストエディットが起動し「名称未設定」とウィンドウタイトルが付いた編集画面が表示されます。

  2. メニューコマンド [フォーマット]-[標準テキストにする] を実行する。

    編集画面のツールバーが消えてウィンドウタイトルが「名称未設定.txt」になります。

  3. 内容を記述する。

    設定ファイルの作成」で示した内容を自分用に変えて記述します。

  4. メニューコマンド [ファイル]-[別名で保存...] を実行します。

    ファイル保存ダイアログが表示されます。

  5. 保存ダイアログに各種指示をする。

    ファイル保存ダイアログで次のようにしてください。

    ファイル名
    .CacheUpIt.conf
    フォルダ
    ご自分のホームフォルダ
    テキストエンコーディング
    日本語 (EUC)
    拡張子
    [拡張子が指定されていない場合は、".txt"] のチェックを外します。
  6. 保存ダイアログの [保存] ボタンをクリックする。

    ファイル名の先頭が "." なので警告のダイアログが表示されます。

  7. 警告ダイアログで ["."を使用] ボタンをクリックする。

    これで ~/.CacheUpIt.conf が作成されました。

編集

既に作成されている ~/.CacheUpIt.conf を開く場合にはテキストエディットの「最近使った項目を開く」を使用するのが楽ですが、やがてはここから押し出されて使えなくなります。そこで次のようにします。

準備

テキストエディットの環境設定で [開く/保存] を選択し、その中の [標準テキストファイルのエンコーディング] にある [ファイルを開くとき] と [ファイルを保存するとき] の両方を「日本語 (EUC)」にしておきます。

開く方法

残念ながら ~/.CacheUpIt.conf を開くために Terminal を使用します。手順は次のとおりです。

  1. Terminal を起動します。

    一つターミナルの画面が開きます。以後、その画面上での操作です。

  2. テキストエディットで ~/.CacheUpIt.conf を開くためのコマンドラインを入力し改行します。
    open -a TextEdit ~/.CacheUpIt.conf

    テキストエディットが起動し ~/.CacheUpIt.conf の編集画面が開きます。

  3. Terminal を終了させます。

実行

CacheUpIt を実行させるには次のようにします。

$ CacheUpIt &

この後、そのシェルを終了してください。