Rhythm & Biology

Engineering, Science, et al.

ntpdateで時刻を正しく

先日サーバのNet::Twitterが動かなくなりました。
あまりの突然のことだったうえ、本番環境へ移行はじめようというタイミングだったため、非常に焦ったわけです。
Perlモジュールを片っ端からアップグレードしてみたり、Perl自体のバージョンをあげてみたり色々試しました。しかし、それでも動かない。


状況としては、consumer key、consumer secretを設定して、get_authorization_urlを呼ぶと401 Unauthorizedとなるものです。ローカル環境で実行すると正しく認証URLを取得してきてくれるので、consumer keyなどが間違っているということは考えられません。


さて、認証の段階でつまずいていたわけですが、試しに投稿してみようと考えました。
ローカルでaccess token、access token secretを取得して、それを用いてサーバから投稿をしてみる。エラー吐いて終了。Timestampふんちゃら。。。


なるほど。


サーバの時刻が正しく設定されていないという凡ミスでした。

% yum install ntp
% /usr/sbin/ntpdate ntp.nict.jp

ntpdateで問題が無事解決されました。
緊急の解決策だったのでntpdateを使いましたが、本来であればntpdを動かしておくのが正しいんですよね。