2014年10月2日木曜日

WordpressのBackWPupでfalse http statusエラーが出た際の対処

WordpressのBackWPupで以下のようなエラーが出た
The HTTP response test get a false http status (401).
ちょっと調べるとサイトにBASIC認証がかかっていると発生してしまうらしい。
認証解除すればOK、とのことだけど、認証する必要があるから認証かけてるわけで。

もうちょっと調べてみると、SettingsのNetworkにユーザIDとパスワード入れればいいらしい。

ちゃんと動いた!やったね!

2014年5月16日金曜日

PerlのFile::Tailでハマった

Perlでtail -fみたいなことがしたくて、File::Tailに辿り着いた。

サンプルを見て書いてみた。けど、何も出力されない…。
use File::Tail;
$file = File::Tail->new(name => "test.txt");

while( defined($line = $file->read)) {

  print "$line";

}
ちょっと調べてみると、マニュアルにmaxintervalなるものがある。
http://search.cpan.org/~mgrabnar/File-Tail-0.99.3/Tail.pm



maxinterval
The maximum number of seconds (real number) that will be spent sleeping. Default is 60, meaning File::Tail will never spend more than sixty seconds without checking the file.

これか。要は60秒ほど待ってしまうわけだ。
さっきのサンプルを動かして、放置しておくと1分経てば出力されていた。

なるほど。

とりあえずすぐ見たいので、maxintervalを1秒に変更すると、更新から1秒後に出力されるようになった。



ただ、本当はファイル全体を読み込んで、かつ、tail -f のようにしたい。

これは
$file->tail(-1);
すれば出来ますよ、みたいなのを見つけてやってみたけど、動かない。

マニュアルに戻ると、tailはnewのargmentsになってるので、以下のように書き換え。

use File::Tail;

$file = File::Tail->new(name => "test.txt", maxinterval => 1, tail => -1) or die("cannot tail test.txt");

while( defined($line = $file->read)) {

  print "$line";

}
ちゃんと動くようになった。