За последние 24 часа нас посетили 62143 программиста и 1793 робота. Сейчас ищет 861 программист ...

Запуск крон заданий средствами php

Тема в разделе "PHP для новичков", создана пользователем joost, 2 мар 2008.

  1. joost

    joost Guest

    Как запустить крон задание скриптом php?
    ОС FreeBSD
     
  2. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    отредактировать crontab, обычный тестовый файл
     
  3. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    man crontab

    crontab -u <юзер> -e
     
  4. joost

    joost Guest

    Как запустить крон в ОС я знаю!
    Интересует как это сделать скриптами пхп?

    например надо запустить в кроне файл skript.php

    <?php
    функция ("php /home/user/skript.php")
    ?>
    Вопрос какую "функция" использовать?
     
  5. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
  6. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    не понял, нужно через крон запустить скрипт или из скрипта запустить крон??
     
  7. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    antonn

    давайц начнем с того - какой у тебя хостинг и какой у тебя там есть доступ?
     
  8. joost

    joost Guest

    из скрипта запустить крон


    VDS - полный рут доступ
     
  9. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    тогда заходишь туда по SSH и ставишь скрипт на cron

    >crontab -e

    и там
    */5 * * * * /usr/local/bin/php /<path>/script.php

    это будет каждые 5 минут

    чтобы установить другой таймер

    man crontab
     
  10. joost

    joost Guest

    это я знаю. счас так и делаю но надо запускать крон скриптом пхп.

    PHP:
    1. например надо запустить в кроне файл skript.php
    2.  
    3. <?php
    4. функция ("php /home/user/skript.php")
    5. ?>
    6. Вопрос какую "функция" использовать?
     
  11. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Крон просто выполнят действие по расписанию. Если тебе надо запустить скрипт, то юзай include/require и т.п.
     
  12. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    я не понял. а как сам скрипт будет запускаться? который хрон дергает?
    =)
     
  13. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    440Hz
    у меня? :))
    он захавал и твой мозг! %)))
     
  14. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    мдя...

    попробуй перефразировать вопрос?
     
  15. Anonymous

    Anonymous Guest

    - Как мне заставить будильник меня будить?
    - Надо его завести.
    - Мне не надо его заводить, как заставить его будить?
     
  16. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    - завести другой будильник, который запустит первый
    - а как завести другой?
    - также как первый

    на лицо бесконечная рекурсия.

    гыгыгы
     
  17. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    440Hz
    это вопрос или утверждение? %))

    странная ветка...
     
  18. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    да просто трава хорошая...

    o_O
     
  19. joost

    joost Guest

    вот делаю так
    exec("php /home/user/data/public_html/load.php", $content, $error);
    print "Код возврата". $error;



    результат
    Код возврата 127
    load.php - не был запущен.
    в чем причина?
     
  20. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    укжи полный путь до php
     
  21. joost

    joost Guest

    при запуске в ssh использую только полный путь к скрипту.
    в exec() тоже пробовал указывать полный путь без указания пути к пхп - скрипт не запускается.


    Еще вопрос
    Какие минусы в увеличении размера памяти для выполнения пхп скриптов и в увеличении времени их выполнения?
     
  22. antonn

    antonn Активный пользователь

    С нами с:
    10 июн 2007
    Сообщения:
    2.996
    Симпатии:
    0
    память может кончится, а скрипт дольше выполняться %)
     
  23. 440Hz

    440Hz Старожил
    Команда форума Модератор

    С нами с:
    21 дек 2012
    Сообщения:
    8.003
    Симпатии:
    1
    Адрес:
    Оттуда
    exec("/usr/local/bin/php /home/user/data/public_html/load.php", $content, $error);
     
  24. joost

    joost Guest

    в ssh дает ошибку "PHP Fatal eror: Allowed memory size of 8388608 bytes exhauster ..."

    скрипт делает загрузку (вставку) в таблицу более 12 000 записей

    Что надо увеличить?

    Лимит памяти Мб 8

    Макс.размер файлов Мб 2

    Время выполнения 30 сек
     
  25. Sergey89

    Sergey89 Активный пользователь

    С нами с:
    4 янв 2007
    Сообщения:
    4.796
    Симпатии:
    0
    Не трудно догадаться, что лимит памяти.