ひとりごと

新しい記事:[2115]  古い記事:[2113] 表示単位 :

ついったー[おとなり日記] かがみさん Y.Kumagaiさん

2007/12/21 (金)

・ サイト微調整

うちのサーバはお遊びで make world したり再起動したりでコケてる時も多いのですが、長時間止まったままだと「ふっ、また止まってるよ。ブックマークから消してやるっ」とかになるかもしれないので、コケててもひとさまにあんまり迷惑をかけないようにする仕組みにしてみました。

  1. RSSを静的ファイルにした
  2. それをDTI(プロバイダ)のサーバに置いた
  3. コケてる時のメッセージに臨時ミラーへのリンクを置いた

変更はだいたいこんな感じ。RSSは今までPHPでその都度データベースから最新記事リストを取り出して作成していたのですが、よく考えたらそんなに頻繁に更新しないので(苦笑)、記事をPOSTしたときに静的XMLファイルを作成し、<link>ではそちらを記載することにしました。自宅サーバにおいては .xml と .php は同じですが、DTIへのアップロードは最大6時間のタイムラグがありますので、現在RSSを登録してある方は変更しない方が良いと思います。

で、自宅サーバ以外にコケてる時用に外部のレンタルサーバにも記事を置いてますので、コケてるっぽい時はそちらへの誘導用リンクを表示するようにしてみました。計画的にシステムダウンしている場合は直前の記事が見られるかもしれません。

ところで、DTIというところはまことに頑固でして、サーバーにファイルを置く手段が FTP しかありません。アイネットディーだと rsync が使えるので簡単で安全なのですけどね。昔はWindowsのフリーソフトで、最近は手打ちftpでぽちぽちアップロードしていたものの、自動化するのはどうやるんだろう? とか悩んだのですが、

#!/bin/sh
cd [HTMLとかXMLがある場所]
find *.html *.xml ... -newer hoge -exec ftp -u ftp://ログイン名:パスワード@FTPサーバ/public_html/ {} +
echo "fuga" >hoge
のようなのだけで簡単に差分アップロードできるようになりました。find ってルートディレクトリしか指定したことが無かったので超重いプログラムだと思っていたのですが、カレントディレクトリのファイルだけを対象にした場合ってとても軽かったのですな。ぜんぜん知りませんでした(^^)。

ホントはレンタルサーバの容量が十分大きくて PostgreSQL も使えるんだから、自宅サーバを公開する必要なんてぜんぜん無いのですけどね。完全に引越しするにはいろいろ面倒なことが多いので放置中なんです。

[つっこみ]

新しい記事:[2115]  古い記事:[2113] 表示単位 :
※このページへのリンクは自由です。リンクの方法については[つっこみ]で表示されるページの最後をごらんください。
たかたに(takatani@mars.dti.ne.jp)