*nux + php + wget логирование

Тема в разделе "PHP", создана пользователем Inviseble_Demon, 26 янв 2013.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    351
    Имеем *nux
    php c правами на запуск exec
    и задача скачать 10Гб. файл.

    Нужен вывод лога данных по закачке как реализовать ?
    В консоле выводит же инфу.... вот она то мне и нужна.

    Спасибо за внимание :)
     
  2. Цукер

    Цукер Сам себе призедент

    Moderator
    Регистр.:
    5 мар 2008
    Сообщения:
    416
    Симпатии:
    376
    Все довольно просто... нужно wget запускать с параметрами
    Код:
    -o logfile
    --output-file=logfile
    Записывать все сообщения в logfile. Иначе они будут направлены в stderr.
    -a logfile
    --append-output=logfile
    Дополнить logfile. Как и -o, только logfile не заменяется, а дополняется. Если logfile не существует, создается новый файл.
     
    Inviseble_Demon и latteo нравится это.
  3. intellion

    intellion Создатель

    Регистр.:
    25 ноя 2007
    Сообщения:
    11
    Симпатии:
    0
    Учтите что у PHP есть ограничение на время исполнения скрипта (max_execution_time в php.ini). Скачивание 10Гб файла задача как минимум на несколько минут, а может и на пол часа (в зависимости от канала на сервере). Можно конечно выставить max_execution_time в 0 чтобы скрипт работал сколько нужно. Но это может привести к тому что какой-нибудь зависший скрипт будет выполняться на сервере вечно, используя вхолостую ресурсы. Поэтому рекомендую создать в базе данных таблицу в которой будет храниться очередь файлов на скачку. Дальше запускаете PHP скрипт через cron, например каждые 5 минут, и он читает из этой таблицы какой файл нужно скачать и качает его wget'ом. PHP скрипт вызванный из консоли (через cron) может работать как угодно долго, обычно max_execution_time для PHP CLI выставлен в 0.
     
  4. Inviseble_Demon

    Inviseble_Demon

    Регистр.:
    11 дек 2008
    Сообщения:
    482
    Симпатии:
    351
    Спасибо конечно но как не странно все почти так и реализовано... Различие только в том что я запускаю wget из php запуск фоновый так что не влияет на время работы скрипта.
    После подобного меняется статус задачи и начинает читаться лог по нему бар уже строю.

    Проект давно реализован. Всем спасибо. Забыл закрыть тему...
    Тема закрыта Caxap выдал именно то что требовалось. Прикрепил бы код обработки лога но он слишком убог так что стыдно...
    Повторюсь для модераторов и набиральщиков постов тема закрыта. (intellion наезд не на тебя буть я новичком совет был бы очень к стати. )
     
Статус темы:
Закрыта.