Я пытаюсь узнать, сколько раз был осуществлен доступ к определенному веб-файлу. У меня есть root-доступ к серверу, но я не знаю, где искать. Единственное место, которое я просмотрел, - это / home / FTPUSER / access-logs, который представляет собой символическую ссылку на / usr / local / apache / domlogs / perrysre, и в этом журнале доступа есть данные только за 1 день.
Любая помощь будет принята с благодарностью.
Если ваш журнал доступа содержит данные только за день, он, вероятно, обновляется каждый день. Вам нужно будет решить, как это настроить. Если вы используете Linux, это может быть с logrotate
-- смотреть в /etc/logrotate.d/
или /etc/logrotate.conf
если они существуют. Во FreeBSD ротация журналов настраивается в /etc/newsyslog.conf
.
Apache также может делать это через ротация журналов. Если так, это будет настроено в CustomLog
строка в конфигурации сервера (httpd.conf
), который мог быть в /etc/httpd
или, что более вероятно, учитывая местоположение вашего журнала, /usr/local/apache/conf
.
Если ничего из этого не работает, спросите человека, который это настраивал!
Я думаю, поскольку, судя по вашему вопросу, я не могу оспорить системные настройки, в которых вы работаете, универсальный способ поиска файлов, используемых процессом, может помочь.
Попробуйте использовать lsof -p <PID_OF_APACHE_DAEMON>
.
Вы можете получить PID несколькими способами, можно посмотреть на netstat -tlnop вывод, другой использует lsof -i, и так далее.
Это POC, который может работать:
lsof -p $(lsof -i :80 | head -2 | tail -1 | awk '{print $2}') | grep log
httpd 2618 root mem REG 253,0 64072 /usr/lib/httpd/modules/mod_logio.so (path inode=63267)
httpd 2618 root mem REG 253,0 64070 /usr/lib/httpd/modules/mod_log_config.so (path inode=63265)
httpd 2618 root 2w REG 253,2 1461 720904 /var/log/httpd/error_log
httpd 2618 root 6w REG 253,2 1461 720904 /var/log/httpd/error_log
httpd 2618 root 7w REG 253,2 4483 720899 /var/log/httpd/access_log
Здесь я предположил, что ваш демон apache, конечно, прослушивает стандартный tcp-порт 80.
все журналы Apache обычно хранятся в:
/var/log/apache(2)/access.log
/var/log/apache(2)/error.log
/ var / log / apache (2) / custom .log
мне нравится хорошая команда, чтобы что-то посчитать:
cat /var/log/apache2/access.log | grep WORD-TO-LOOK | wc -l
тогда у вас будет номер. Предположим, у вас есть журналы FTP, и каждый раз, когда Джон подключается, появляется строка «Джон открыл сеанс». Итак, вы сделаете:
cat /var/log/ftp.log | grep John opened a session | wc -l
покажет, сколько раз Джон открывал сеанс. Если вам нужен период времени и т. Д., Вы также можете это сделать