Apache-2.2

/etc/init.d/apache2 文件正在日誌輪換

  • June 14, 2015

我監測到了一些奇怪的行為。每週在 logrotate 程序時間,apache2 守護程序腳本 /etc/init.d/apache2 都會像日誌文件一樣輪換。

第一周它創建了另一個文件 apache2.1 並清空了 apache2。接下來的一周,它製作了 apache2.2 和 apache2.1 並清空了 apache2。等等。

-rwxr-xr-x 1 root root 6461 2015-04-26 06:25 apache2.4
-rwxr-xr-x 1 root root 6461 2015-05-03 06:25 apache2.3
-rwxr-xr-x 1 root root 6461 2015-05-10 06:25 apache2.2
-rwxr-xr-x 1 root root 6461 2015-05-17 06:25 apache2.1
-rwxr-xr-x 1 root root    0 2015-05-24 06:25 apache2

我不確定它是 apache 更新錯誤還是一些預定的工作。這是我的日誌輪換文件:

/var/log/apache2/*.log {
       weekly
       missingok
       rotate 52
       compress
       delaycompress
       notifempty
       create 644 root adm
       sharedscripts
       postrotate
               if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
                       /etc/init.d/apache2 reload > /dev/null
               fi
       endscript
}

我的 apache2 版本:2.2.12

編輯: logrotate.conf

# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/wtmp {
   missingok
   monthly
   create 0664 root utmp
   rotate 1
}

/var/log/btmp {
   missingok
   monthly
   create 0660 root utmp
   rotate 1
}

/etc/logrotate.d/apache2_backup我在同一路徑“ ”中找到了一個與“ ”具有相同內容的備份文件,/etc/logrotate.d/apache2將其移動到另一個位置並僅保留原始文件後,我的問題得到了解決。

我仍然不明白為什麼 2 個具有相同內容的文件會導致 apache 守護程序文件記錄輪換!

您可以在**/var/lib/logrotate.status文件中檢查 logrotate 的作用。還要檢查/etc/cron.d/目錄下是否存在任何有關旋轉的作業,或檢查/var/log/cron**日誌。您可能會發現在 /etc 目錄中搜尋包含 apache2 守護程序腳本的文件很有用:

   find /etc/ -type f -exec grep -H '/etc/init.d/apache2' {} \;

引用自:https://serverfault.com/questions/697567