Лог на отдельный файл

Discussion in 'Linux, Freebsd, *nix' started by spize0r, 17 Sep 2016.

  1. spize0r

    spize0r Member

    Joined:
    2 Apr 2016
    Messages:
    40
    Likes Received:
    12
    Reputations:
    4
    Подскажите, можно ли в apache2 сделать вывод лога загрузка одного файла из папки?
    Например, софт soft.exe. Сколько раз пользователи его скачали. Ну или хотя бы просто пытались скачать.
     
  2. pas9x

    pas9x Elder - Старейшина

    Joined:
    13 Oct 2012
    Messages:
    423
    Likes Received:
    585
    Reputations:
    52
    В апаче такой возможности нет. CustomLog в <Location> не воткнёшь.
    Можно сделать просто.

    Добавь файл download.php с содержимым:
    PHP:
    <?php

    ini_set
    ('display_errors''off');
    $logEntry date('d.m.Y H:i:s') . "\t" $_SERVER['REMOTE_ADDR'] . "\n";
    file_put_contents('download.log'$logEntryFILE_APPEND);

    $fileName 'soft.exe';
    header('Content-Length: ' filesize($fileName));
    header('Content-Type: application/octet-stream');
    header('Content-Disposition: attachment; filename=' $fileName);
    readfile($fileName);
    И качай файл через скрипт. Также, с помощью mod_rewrite, можешь замаскировать download.php под soft.exe и никто ничего не заметит.
     
  3. spize0r

    spize0r Member

    Joined:
    2 Apr 2016
    Messages:
    40
    Likes Received:
    12
    Reputations:
    4
    та это немного не то. спасибо.
    мучаю CustomLog Directive
     
  4. spize0r

    spize0r Member

    Joined:
    2 Apr 2016
    Messages:
    40
    Likes Received:
    12
    Reputations:
    4
  5. spize0r

    spize0r Member

    Joined:
    2 Apr 2016
    Messages:
    40
    Likes Received:
    12
    Reputations:
    4
    правда глюк все равно. прописывая в файле apache2.conf данные строки, создается пустой файл но туда ничего не пишется:
    SetEnvIf Request_URI \.exe$ exe-image
    CustomLog "/var/log/apache2/exe-requests.log" common env=exe-image
     
  6. t0ma5

    t0ma5 Reservists Of Antichat

    Joined:
    10 Feb 2012
    Messages:
    828
    Likes Received:
    815
    Reputations:
    90
    лол а грепать типа уже не модно))?

    cat apache2.log | grep soft.exe | wc -l

    если линк всегда download.php то реально проще тогда как pas9x сказал, в сам файл логирование добавить, имхо не надо извращаться с апачом, не та это задача
     
    _________________________
    spize0r likes this.
  7. spize0r

    spize0r Member

    Joined:
    2 Apr 2016
    Messages:
    40
    Likes Received:
    12
    Reputations:
    4
    t0ma5 лог грепать не совсем то. нужен отдельный файл. да и чтоб нагрузки меньше на систему. вообщем нашел такой выход:
    в конфиг добавить. апачь перезапустить
    SetEnvIf Request_URI "^soft\.exe$" crawler
    CustomLog logs/crawlers.log combined env=crawler

    и главное работает. показывает все запросы к файлу
     
  8. t0ma5

    t0ma5 Reservists Of Antichat

    Joined:
    10 Feb 2012
    Messages:
    828
    Likes Received:
    815
    Reputations:
    90
    ну на вкус и цвет)
     
    _________________________