ただめしぐらい

食事日記。2010年までは、はてなダイアリーアーカイブのインポート。

ローカルアンテナ

昨日の記事の続きです。「WebPatrol」での巡回を断念し,レンタルサーバで回していたアンテナperlスクリプト・「linkAro」を,ローカルで回す方向で作業に入りました。
そもそも,「linkAro」の実行環境はMac OS X上のperlですから,回らないわけがありません。ということで…

  1. これまで,レンタルサーバ上の「linkAro」を設定ファイルごとダウンロードし,Mac OS X上のperlで回す。
  2. 回るのを確認した上で,これを定時実行させる。
  3. 定時実行で生成したHTMLを,ftpで自動アップロードさせる。

…という算段だったんですが…1つ目でこけました。というのも,入出力に使うテキストファイルの改行コードがCRになっていたため。レンタルサーバからftpで引っ張ったときに,「Macで使うんだから,CRの方がいいでしょ」と,ftpクライアントがヘンな気を利かせていたようです。実際には,Mac OS XperlUNIXベースですから,改行コードとしてはLFを要求してきます。これに気づくのに何時間かかったか…。
次もホネです。「linkAro」はあくまでもperlスクリプトですから,UNIXシェルを呼び出してやらないと実行できません。いちいちTerminalからコマンドを打つのもシャクです。それに,せっかくローカル実行にするのですから,好きなときに更新チェックをかけたいものです。が…「linkAro」は,回しっぱなしが前提のスクリプトなので,1回限りの巡回のためには引数指定が必要です。結局,AppleScriptからシェルに,ディレクトリ変更→引数付きでperlスクリプト実行,という一連の操作を組み込んで,アプリケーションにしてしまいました。これを,タイマーアプリケーションに登録しておいて,すぐにチェックをしたいときはアプリケーションを直接実行すればよいのです。
最後のは…「linkAro」に組み込まれている,OS Xビルトインのftpエンジンを呼び出す機能に頼りました。
…ということで,本家のリンクページは,ぼくがMacの電源を入れているときだけ機能する,という,「ほんとにアンテナかいな,これ?」というものにダウングレードしました。…これで,sshができないサーバに移っても,少なくともぼくにとっては同じ使い勝手で巡回をできます。