The jonki

呼ばれて飛び出てじょじょじょじょーんき

【Linux】 TweepError: Timestamp out of bounds

我が家で買っているTwitterのボット達が3日ほど前から止まっていた。ちなみにbot達は家の古ーいThinkPadCentOSを入れ、cronで動かしている。LANケーブルが抜けたか、電源が抜けたもんだと思ってチェックしてみると、ネットも電源も問題ない。で、次にbotのつぶやきスクリプトを実行するとこうなった。

tweepy error TweepError: Timestamp out of bounds

ちなみにtweepyTwitterのOAuthを簡単に使えるようにしたライブラリで飼ってるbot達は全部これでつぶやいている。tweepyの使い方についてはこっちを参照して下さい。

どうやらつぶやくタイミングでエラーを吐いていて他のbotも同じ現象。もしかしてtweepy内部の問題かッ( ・`ω・´)とキリッてみましたが、実は全然関係なくThinkPadの時間がズレてることが原因でした。30分ぐらい時間がずれていてそれでエラーが起きてしまったようです。

ということで時刻を正常に戻します。『NTP サーバ』で調べればいっぱい出てきます。ここではNICTのntpサーバを利用しました。

# yum install ntp (ntp入れていないなら実行)
# ntpdate ntp.nict.jp


毎回これをやるのは結構しんどいので定期的にntpdateを行うスクリプトをcronで動かしましょう。/etc/cron.daily以下に実行ファイル置くとそれを毎日1回実行してくれます。cronのファイル名は何でもいいです。

# vi /etc/cron.daily/ntp.cron
#!/bin/sh
/usr/sbin/ntpdate ntp.nict.jp

実行権限をつける。

chmod 755 /etc/cron.daily/ntp.cron

これで大丈夫。