in_tailでpermission deniedが出る時がある

logrotateでcreateを正しく設定していてもローテーションのタイミングで起きることがあり,時間が経てばちゃんと読めるようになる. 今の所2件だけ聞いているけど,他にも実は起きてる可能性がある.logrotateの仕組み上仕方ないのかどうか知りたい.
2
SKS rep @repeatedly

logrotateの仕組み詳しい方います?logrotateがファイルをローテーションする時って,一回rootでファイル作り直したりするんですかね?

2014-02-26 20:08:17
にゃははー仙人 @Flast_RO

@repeatedly 作りなおすというは、 hoge.log を hoge.log.1 にして hoge.log をtouchするかどうかっていう話ですか?

2014-02-26 20:10:02
SKS rep @repeatedly

後でlogrotateのソース読むしか無いか… > https://t.co/wLp13bPOlG

2014-02-26 20:10:55
SKS rep @repeatedly

@Flast_RO Yes.なんかFluentdのin_tailで,ときどきローテーションのタイミングでpermission deniedが起きていて,その原因がなんなのか知りたい

2014-02-26 20:13:03
にゃははー仙人 @Flast_RO

@repeatedly どれぐらいの間隔を許容するかですが、nocreate オプションを使うとtouchしないので、postrotateとかでアプリケーションを突いて、それが開き直すまでは空のログすら無いです

2014-02-26 20:16:51
にゃははー仙人 @Flast_RO

@repeatedly createを使っても、touchするまでの瞬間はどうしても何もない瞬間が出来てしまいます copytruncateを使えば何もない瞬間は無くなりますが、切り詰めている間のログは亜空間に消える可能性があるらしい(これは使ったこと無いからなんとも)

2014-02-26 20:18:16
SKS rep @repeatedly

@Flast_RO あれ,でもその時ってpermission denied飛ぶんだっけ?何もないならNo suchみたいなのが飛ぶような気も?

2014-02-26 20:21:03
にゃははー仙人 @Flast_RO

@repeatedly fluentd側の挙動まではわからないです...Secure OSが動いてるとPermission Deniedが飛んだり、createの設定がちょっと足りないとoot:rootで作って、reloadで適当なuidに変わるとか、いろいろ考えられます

2014-02-26 20:34:29
SKS rep @repeatedly

@Flast_RO なるほどー.なんか面倒くさいな…

2014-02-26 20:34:48
にゃははー仙人 @Flast_RO

@repeatedly とりあえずlogrotateで今のところ思いつくのは(no)createとcopytruncateあたりですね

2014-02-26 20:35:59
SKS rep @repeatedly

@Flast_RO createは使っているので,その辺かなぁ.細かな挙動はソース読まないと分からないか…

2014-02-26 20:36:23
にゃははー仙人 @Flast_RO

@repeatedly createの後ろにpermission gid uidの順で設定できるので、それな気もします http://t.co/uPWL5mQ1pJ

2014-02-26 20:37:49
SKS rep @repeatedly

@Flast_RO ちゃんとそれは指定している(nginxだったnginx admみたいな?)

2014-02-26 20:39:12