• ベストアンサー

Apacheでのaccess_logの設定

Apacheでaccess_logを自動で記録するようにデフォルトの設定になっているのですが、これを1週間ごとに保存できるように設定することはできますでしょうか? 12月の半ばにサイトをオープンしたばかりですが、それ以来、1つのaccess_logファイルに追加されている状態です。 現在のlog指定行は下記のみです。 CustomLog /usr/local/apache/logs/xxx-access_log combined 当方初心者なので、参考サイトも教えていただけると大変助かります。 よろしくお願いいたします。

  • aqui9
  • お礼率100% (1/1)

質問者が選んだベストアンサー

  • ベストアンサー
  • kalze
  • ベストアンサー率47% (522/1092)
回答No.1

質問内容が不明確ですが、予想して。 ログファイルを1週間ごとに分けたいということでしょうか? デフォルトだと1ヶ月ごとにローテートされるのではないかとおもいますので、12月の半ばからであれば確かに1ファイルのままでしょう。 OSも、apacheのインストール方法も記述されていないので、具体的なURLを挙げるのは逆に混乱を招く恐れがあるのでやめておきますが、 「apache ログ ローテート」や「apache logrotate」でgoogleで検索すればローテートについて書かれたページがたくさんひっかかりますので、ご自身の環境にあったページを参考にしてください。 ローテートを1週間単位で行うようにすればご希望どおりになるとおもいます

aqui9
質問者

お礼

早急のアドバイス、ありがとうございます。 質問内容が不明確なことでお分かりでしょうが、「apacheってなに?」というほどの初心者なもので、Apacheのページを調べてもどの項目で調べればよいのか判らず質問してみたしだいです。 ローテートだったんですね。 早速調べてみます。 ありがとうございました。

関連するQ&A

  • SSLのログファイルを【1ファイル/Day】に設定したい

    SSLのログファイル形式はデフォルトで、全てのログは1つのファイルに書く込む設定になっています これを、毎日1個のログファイルを吐き出す設定に変えたいのですが、方法を教えていただければ幸いです ■環境 ―――――――――――― RedHat Linux6J Apache 1.3.27 openssl-0.9.7 mod_ssl-2.8.12-1.3.27 ―――――――――――― Apacheのログファイルを、下記の指定で、毎日ワンファイル吐き出すようになっています(1行): CustomLog "|/usr/local/apache/bin/rotatelogs /usr/local/apache/logs/access%Y%m%d_log 86400 540" combined SSLのログファイル設定の部分は、下記のようになっています(2行): CustomLog /usr/local/apache/logs/CustomLog_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" この部分の修正になるのでしょうか。もし、そうであれば、具体的に修正方法を教えていただければ、幸いです どうぞよろしくお願いいたします

  • httpd.conf

    Apacheのhttpd.confで CustomLog /usr/local/apache/logs/access_log combined ErrorLog /usr/local/apache/logs/error_log などをコメントアウトして、ログの記録を止めるのはApacheの動作自体に問題はあるのでしょうか? どうしてもログの記録を一時的に止めたいのですが、方法として上記のようなやり方は間違ってないでしょうか。

  • Apacheのログについて

    apacheのログの設定について苦戦しています ログローテートをしたいのですが出来ません。 ログの書式を設定したいのですが 解決方法を教えていただけないでしょうか。 httpd.confで次の設定をしています。 ・ログローテートについて CustomLog "|/opt/apache/bin/rotatelogs /opt/apache/logs/access_log.%Y%m%d 86400" hoge CustomLog "|/opt/apache/bin/rotatelogs /opt/apache/logs/error_log.%Y%m%d 86400" hoge ・ログの書式について [日時] [ホスト名] [情報レベル] [詳細] という風に設定したいです。 次の設定にしています。 LogFormat "%t %h %l %u %t \"%r\" %>s %b" hoge その他の設定はほとんどデフォルトから変更しておりません。 OS : centos 4.6 Apache version: 2.2.11 以上です。よろしくお願いします。m(_ _)m

  • apacheのアクセスログのファイル名について

    【環境】 centos4.5 apache2.2.6 現在、テストの為、アクセスログを5分ごとにローテーションさせて、 ファイル名には「年月日時分秒」が入るように設定してますが、 出力されるアクセスログファイル名の時刻がおかしくて困ってます。 【httpd.confの設定値】 CustomLog "|/usr/local/apache2/bin/rotatelogs /usr/local/apache2/logs/access_log.%Y%m%d%H%M%S 300" combined 15時55分に出力されたファイル名 access_log.20071104065500 16時5分に出力されたファイル名 access_log.20071104070500 上記のように 15時だと06 16時だと07 になってしまいます。 年・月・日・分・秒は正確にファイル名に入るのですが、 時だけおかしいです。 dateコマンドだと正常に表示されます 2007年 11月 4日 日曜日 16:44:02 JST 原因が分からず困っています。 どなたか教えて下さい。宜しくお願いします。

  • apacheのログについて

    Solaris10において、Apache2.2.8を使用しています。 httpd.confのListenを80から変更したところ、アクセスログ(/usr/local/apache2/logs/access_log)が出力されなくなりました。 再起動してもダメです。 Listenポート番号の変更でログの出力に影響が出るのでしょうか? ご教授お願いします。

  • apacheのログファイルがいつの間にか消える

    Redhat Linux7.0J apache_1.3.19 openssl_0.9.6b apache_1.3.19+ssl_1.44の環境で 下記のログファイルの中身が、いつの間にか 全て消えてなくなるのです。  マシンを再起動すれば、たちまちログ出力は 開始されるのですが、また気付いたら消えています。  消えるまでにどれだけの日数がかかるのかは 分かりません。サーバの再起動は3ヶ月に1回ぐらいは 実施していますが、毎回logのことを調べてはいないので どのタイミングで消えたかは全く不明です。 定期的に消えるような処理が自動的に動いているのでしょうか?(それはcronという機能のことですか?cronの設定とかよく分からないのですが現状どのようなcronが動いているか確認する手段(コマンド)はありますか?) [ログファイルは、下記のように1ファイル/1Wずつ保存されていて気付いたら中身が消えている] /usr/local/apache/logs/httpsd_access_log ・・・ /usr/local/apache/logs/httpsd_access_log.4 /usr/local/apache/logs/httpsd_error_log ・・・ /usr/local/apache/logs/httpsd_error_log.4 ログのrotationについては /etc/logrotate.d/syslogファイルに 下記を記述しています。  この記述方法が悪いのでしょうか? インストールの初期状態で自動的に記述されていた maiilogファイルなどを真似して記述したのですが 間違いがありますか? [/etc/logrotate.d/syslogファイルの記述] /usr/local/apache/logs/httpsd_access_log { postrotate /bin/kill -HUP `cat /var/run/xinetd.pid 2>/dev/null` 2>/dev/null || true endscript } /usr/local/apache/logs/httpsd_error_log { postrotate /bin/kill -HUP `cat /var/run/xinetd.pid 2>/dev/null` 2>/dev/null || true endscript }

  • さくらVPSのアクセスログファイルの場所が知りたい

    現在さくらVPSの 1Gプラン(http://vps.sakura.ad.jp/)で契約しています。 デフォルトのCentOSでapacheをインストールし、 ほとんどデフォルトのままの設定でサーバーを稼働させています。 そこで、さくらVPSのアクセスログファイルの場所が知りたい のですがそれはどこにあるのでしょうか? そこでapacheのhttpd.confというファイルを見たら  CustomLog logs/access_log combined との記述がありましたが、この意味が良くわかりません。 logs/access_logという場所にaccess_logというファイルで アクセスログファイルが作られているという意味なのでしょうか? しかし、そうしたディレクトリーは特に見つからず、 一体どこに保存されているのか、そもそも保存されているのかが 分からず右往左往しています。 何か心当たりのある方からアドバイスが頂ければ幸いです。

  • Apacheで各バーチャルホストとは別に全体のアクセスログをとりたい

    Apache2使用です。 大量のバーチャルホストを運営しており、 各バーチャルホストごとにアクセスログを記録しています。 しかし、DOS攻撃等があった場合にどのホストにアタックされているのか 調べるために見当をつけて各ファイルを見ていかなければいけないため、 各バーチャルホストとは別に、サーバ全体のアクセスログをとりたいです。 しかし、httpd.confのCustomLogの説明文には、 バーチャルホストの設定部分にログ設定があったら CustomLog logs/access_log common には記録されないと書かれています。 各バーチャルホストとは別に、全体のログを記録する方法を教えてください。 よろしくお願いします。

  • apacheでログを圧縮&再起動を掛けたい

    長い質問ですみません。随分試行錯誤した上でまだ悩んでいます。 無料プロバイダを個人運営でやっているものなんですが、 サーバーのログをhttp.confの設定でこんな感じで作成し、 CustomLog /var/log/apache/XXX.XXX.ne.jp-access.log combined これをCSV扱いしてCGIで読み取り、解析をしています。 自動的に一週間でログの切り替えを行っている様で最初はこれでよかったのですが、アクセスが増えるにつれcgiとログファイルが非常に重くなってきました。 そこで、以下のことをしようと思っています。 cronを使えば良いのではないかと思いました。 1.一定のアクセスの少ない時刻にログ圧縮をかける (圧縮ファイルは上書きでよい。どっちみちそんなに遡っては見ないので) 2.apacheを再起動する (再起動かけないと新しいlogファイルが作成されない様なので) ちなみに手動では以下の方法で出来ました。 gzip /var/log/apache/XXX.XXX.ne.jp-access.log ps x kill プロセスID /usr/sbin/apache でも自動だと kill プロセスIDがダメなんです。 同じIDでapacheが起動してくれないので・・・。 1.apacheを一定時間に確実に再起動させる方法 2.それ以外の1日単位でログファイルの切り替えを行う方法 CGIが一定ファイルを読む仕掛けになってるので現在アクティブなファイルは 同じのままという条件で のどちらかを教えてください。 ちなみに、 http://www.rfs.co.jp/server/apache/06.html の方法はhttpd.pidがwhereisとかfind探しても見つからないという 理由により挫折してますのでこれはアドバイスしないでください。 見つける方法がわかればそれでもまあいいのですが。

  • バーチャルホストの設定について

    http://test.com →/usr/local/apache/htdocs http://www.test.com →/usr/local/apache/htdocs http://user.test.com →/home/user/public_html としたいのですが、DNSの設定とhttpd.confの設定はどのようにしたらよいでしょうか? DNSはワイルドカード有効にしてあります。 <VirtualHost *:80> ServerAdmin webmaster@test.com DocumentRoot /usr/local/apache/htdocs Servername www.test.com ErrorLog logs/www.test.com-error_log CustomLog logs/www.test.com-error_log common </VirtualHost> <VirtualHost *:80> ServerAdmin user@test.com DocumentRoot /home/user/public_html Servername user.test.com ErrorLog logs/user.test.com-error_log CustomLog logs/user.test.com-error_log common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@test.com DocumentRoot /usr/local/apache/htdocs Servername test.com ErrorLog logs/test.com-error_log CustomLog logs/test.com-error_log common </VirtualHost> このように設定したところ http://test.comでアクセスするとhttp://user.test.comと同じページが表示されてしまいます。