今度こそさくらのVPSのntpdを止めて一ヶ月後


 こんな感じ。

$ uptime
 01:38:20 up 26 days, 22:15,  1 user,  load average: 0.00, 0.00, 0.00
$ ntpdate -q ntp.nict.jp
server 133.243.238.243, stratum 1, offset -0.079136, delay 0.03732
server 133.243.238.244, stratum 1, offset -0.079297, delay 0.03761
server 133.243.238.163, stratum 1, offset -0.079193, delay 0.03899
server 133.243.238.164, stratum 1, offset -0.079244, delay 0.03883
server 2001:2f8:29:100::fff3, stratum 1, offset -0.080608, delay 0.03578
server 2001:2f8:29:100::fff4, stratum 1, offset -0.080563, delay 0.03549
10 Mar 01:38:33 ntpdate[3381]: adjust time server 2001:2f8:29:100::fff3 offset -0.080608 sec

 そういえば6to4使ってたなあ。まーいいか。
 とりあえず微妙にずれてはいるが、起動直後の記録が無いのでよく分からなかった。まあ、さらに一ヵ月後を見てみよう。
 あとload averageが超暇そう(笑)。


早速Chrome10にする


 メインPCはプラグインの都合などもあってFirefoxだが、最近作業することの多いPCにはChromeを入れている。
 Chromeは高速な代わりに機能が絞られている感もあるが、性能の低いPCではブラウザの速度差はより顕著になる。聞いた話ではIE9もかなり高速になるらしいが、少なくとも現時点では、この古いPCではChromeが断然快適なのだ。
 で、Chrome10が出たのでアップデートした。JSが66%高速化したらしいので、所要時間に換算すると40%削減となるが、重いJSってどこにあるかな。Gmailとか重いのはJSのせいなのかなー、と思って開いてみると、理由は分からないが昨日までと比べて異様に高速化していた。メインPCでGmail開く時より格段に高速なんですが。
 JSの高速化の進展は凄まじいなあ。JITコンパイラとか言ってたのは聞いたけど、ランタイム最適化とかもするんだろうか。その辺はコードキャッシュとも相性良さそうだ。待てよ、ブラウザキャッシュを常にクリアしてる俺の設定だと、コードキャッシュとは相性悪いのか。キャッシュ消しまくらない方がいい時代の予感?
 いやまあ、現状どこまで進展してるのか知りませんが。


GAEのログに警告出まくり


 久々にGAEのログを見たら、

You are using the default Django version (0.96). The default Django version will change in an App Engine release in the near future. Please call use_library() to explicitly select a Django version. For more information see http://code.google.com/appengine/docs/python/tools/libraries.html#Django

とか言われまくっていた。ほうほう。要するにDjangoのバージョン指定が無いけど、デフォは変更されるよー大丈夫かー、と言われているのだな。
 ならばリンクを叩いて詳細を見てみるか、と思ったが、日本語版ドキュメントは翻訳が遅いというか放置なので、英語版を見ないと不幸なことになったり。
 んで、昔と違って今はDjango1.2もGAEのSDKに同梱らしく、何もしないでもテストサーバで動いてくれるので、1.2を使うことに。…って俺Django使ってたっけ。JSON変換もサーバ上でやってないしなあ。google.appengine系で実は使ってたりするんだろうか。
 まあ、とりあえず1.2を指定してみた。

import os
os.environ['DJANGO_SETTINGS_MODULE'] = 'settings'
from google.appengine.dist import use_library
use_library('django', '1.2')

こんな感じで。警告も消えた。釈然としないが、多分これで間違ってはいないだろう。

追記:
 かなり後になってログを見たら、今度は

Could not import settings 'settings' (Is it on sys.path? Does it have syntax errors?): No module named settings

とか出るようになっていたが、Django使ってないんで

import os
from google.appengine.dist import use_library
use_library('django', '1.2')

と昔どこかで見た書き方にうろ覚えで変更したら静かになった。

再追記:
 遥かな後日に何となく読み返したのだが、import osって要るのか?


SyntaxHighlighterを入れてみた


 今までコードとかログとかはpreタグで貼っていたが、bashスクリプトが行折り返しで訳分からない状態になったので、ああ、こりゃ駄目だな、と。
 世のblogではどうしてるんだろ、と思って見てみると、SyntaxHighlighterというのが主流のようだった。
 早速、適当にSyntaxHighlighter 3.0なプラグインを入れてみたら、横スクロールバーが出てうざい。行番号付きで折り返すのが好みなのに。ツールバーもちゃんと動作していないような。Chromeだと縦スクロールバーまで出る。
 2.0な奴に入れ替えたら、非常に満足な見た目になったので、そのまま導入。Easy Google Syntax Highlighterという奴にしたのだが、更新が2009/10/22で止まってるような。まあ、問題が出たらまた探すか。

 で、過去の記事を書き換える訳だが、めんどくさい。タグを検索する機能が欲しいなあ。どっかに無いかな。あった。Search Regexというプラグインだ。置換機能もある。REを使おうとするとデリミタがどうこう言われて良く分からなかったが、今はシンプルな検索で十分だな。
 という訳で、まとめてSyntaxHighlighterに対応してみたが、移行作業中に古いコードが目に入って辛かったり。


サイボウズって何ぞ


 よく分からんけど、使ってるらしい。Office8だかいう奴。いつの間にか所内の一番速い端末にApacheと一緒に入れてサーバにしていたらしい。何だと…。
 そして、所内端末がWindows Updateもセキュリティソフトも全放置になってたんで、更新掛けてMSEに入れ替えて、とやったんだけど、その時にWindowsファイアウォールが発動したからサーバが見えなくなった、のかな。まあ他にWindowsもLinuxも終日稼動のサーバを置いてあるんだから、そっちに移すべきなんだが。
 俺が正式な管理者じゃねーから、こういうことになるのかもなあ。仕事としてやりたくなかったから断ってたけど、逆に面倒になってる気も。どうせ面倒見ちゃうんだしなあ。
 で、サイボウズのオンラインマニュアルを確認すると、ライセンスを維持したままの鯖移動はかなり簡単そうなので、NP12のCentOS上に移動することに。移行先でApacheとサイボウズ動く状態にして、自動実行機能のサービスを止めといて、ディレクトリ三つコピーするだけ。超簡単。素晴らしい。
 ついでにバックアップも仕込もう。簡単な暗号化もしておくか。

#!/bin/sh
CYBOZU_INSTALL_ID=cbag
FTP_SERVER=ftpserver  # FTP鯖名
FTP_ID=てきとーなID
FTP_PASSWORD=てきとーなパスワード
FTP_OUTPUT_FILE=/home/kamakura/cybozu.tar.gpg  # FTP転送先フルパス名
GPG_PASSPHRASE=GPG用のてきとーなパスワード
GPG_FLAGS="-c --force-mdc --cipher-algo twofish --compress-algo bzip2"

TMPTAR=`mktemp -t maintain.tar.XXXXXXXX`
TMPGPG=`mktemp -t maintain.tar.gpg.XXXXXXXX`
/etc/rc.d/init.d/ofss_$CYBOZU_INSTALL_ID stop &>/dev/null
tar rpC / -f $TMPTAR var/www/cgi-bin/$CYBOZU_INSTALL_ID/cb5/{data,file,log}
/etc/rc.d/init.d/ofss_$CYBOZU_INSTALL_ID start &>/dev/null
cat $TMPTAR | gpg $GPG_FLAGS --passphrase $GPG_PASSPHRASE > $TMPGPG
lftp -c "open $FTP_SERVER && user $FTP_ID $FTP_PASSWORD && put $TMPGPG -o $FTP_OUTPUT_FILE" &>/dev/null
rm -f $TMPTAR $TMPGPG

こんなんでどうだ。パスワードがガチで平文で埋まってて嫌だが。というか全体的にやっつけまたはツッコミ待ちというか。でもまあ、これをサイボウズのメンテ時刻に合わせてcronで走らせれば一応OKかな。実際に動かしてる奴とはだいぶ違うコードになってるので、このコードが本当に動くかは知らないが。
 つーかプロプライエタリな奴は、タダで済ませようとすると仕様変更でリセットされるイメージも非常に強く。いや、あくまでイメージが。
 まあ、既に勝手にGoogle Appsの準備とかしてるけど。