【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?

httpdのログローテションがうまく動いていないようで調査中なのですが、
ログローテションは、logrotate.dでデイリーでスイッチさせようとしてますが、
スイッチに失敗しているようです。

access.log       <--サイズゼロ
access.log-2018012  <--スイッチしたファイルに書き続けている

ログローテーションでは、以下のように reload を呼んでるので、stop、startに
変更しようか、と考えているのですが、そもそも、reloadが正しいのか、教えて頂けると幸いです。

疑問に思ったのは、logrotateで以下のようにreloadを呼ぶのが正しいのか、です。

/var/log/httpd/*log {
 <中略>
postrotate
/sbin/service httpd stop; start> /dev/null 2>/dev/null || true
 <中略>
}

httpd の help をたたいてみると、reload が出てきません。

# httpd -help
Usage: httpd [-D name] [-d directory] [-f file]
[-C "directive"] [-c "directive"]
[-k start|restart|graceful|graceful-stop|stop]
[-v] [-V] [-h] [-l] [-L] [-t] [-S]

reload を graceful に書き換えるのが正しいのか、stop start にすべきか悩んでいます。

使用しているApacheのバージョンは以下のものです。(少し古いですが)

# httpd -v
Server version: Apache/2.2.15 (Unix)

OSは、Centos6 です。

A 回答 (1件)

restartで良いんじゃないの?


うちはAmazon Linuxでapache2.2.34だけど、
$ /etc/init.d/httpd
Usage: httpd {start|stop|restart|condrestart|try-restart|force-reload|reload|status|fullstatus|graceful|help|configtest}

ただしstop|startと同じなので、コネクションはぶった切られますのでgracefulのほうが良いかも。
ただしログの切れ目は若干曖昧になる可能性もあります。

私はいろいろ融通が聞くしコネクションもぶった切らない(リスタートも必要ない)cronologを使ってローテートしてます。
    • good
    • 1
この回答へのお礼

restart を logrotated に書きました。
再起動するのが手っ取り早いですね。
どうもありがとうございました。

お礼日時:2018/09/06 18:40

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!