1. Задавайте здесь вопросы о коде, которые не подходят в другие разделы, такие как:
    Дизайн > Верстка
    PHP > Как сделать на PHP
    Скрыть объявление

Вопрос по Cron и php

Тема в разделе "Web Coding", создана пользователем sergmd, 28 дек 2007.

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

    sergmd Постоялец

    Регистр.:
    3 ноя 2007
    Сообщения:
    85
    Симпатии:
    18
    К примеру у меня 100 php скриптов, все надо запускать через крон.
    Чтоб не прописывать это всё в крон, можно ли прописать выполнение одного php который будет запускать рандомно остальные 100 по очереди?
    То есть каждый час 1 скрипт из ста.
     
  2. lobzik

    lobzik

    Регистр.:
    8 авг 2006
    Сообщения:
    311
    Симпатии:
    49
    PHP:
    $cmds=file('fail_s_komandami.txt');
    $rand_keys=array_rand($cmds);
    exec($cmds[$rand_keys].' >> /dev/null');
    fail_s_komandami.txt - файл где на каждой строке лежит команда.
     
    sergmd нравится это.
  3. Alexej28

    Alexej28 Создатель

    Регистр.:
    29 дек 2007
    Сообщения:
    18
    Симпатии:
    0
    Помогите пожалуйста. Никак не могу выполнить простой код с помощью крона.
    вот код скрипта:
    PHP:
    include("connect.php");

    $pismo_nein="INSERT INTO  pm VALUES('','".date('Y-m-d'strtotime('+9 hour'))."','Ðåøåíèå ïî ÂÓ','Âàøà çàÿâêà áûëà îòêëîíåíà.','Hammer','FairPlay','1')";
    mysql_db_query ($DBName2$pismo_nein$connect);
    Крон выдаёт мне такое сообщение:
     
  4. mentanos

    mentanos Постоялец

    Регистр.:
    27 дек 2007
    Сообщения:
    128
    Симпатии:
    35
    пишет же - файл не найден
     
  5. Alexej28

    Alexej28 Создатель

    Регистр.:
    29 дек 2007
    Сообщения:
    18
    Симпатии:
    0
    Интересно откуда он тогда знает что там есть вот это?
    include("connect.php");
    ведь он пишет:
    /home/manager/public_html/new/test2.php: line 1: ?: No such file or directory
    /home/manager/public_html/new/test2.php: line 3: syntax error near unexpected token `"connect.php"'
    /home/manager/public_html/new/test2.php: line 3: `include("connect.php");'
    Значит он читает этот фаил, но находит там ошибку.

    Добавлено через 33 минуты
    спасиюо за попытку помочь, но я уже нашёл причину. Рказывается нужно ставить ссылку на файл не так как указано в подсказке в планировщике задач:
    /home/manager/public_html/new/test2.php
    а вот в каком:
    PHP:
    curl -s http://.........../new/test2.php > /dev/null
    Надеюсь, комуто поможет мой опыт.
     
  6. mentanos

    mentanos Постоялец

    Регистр.:
    27 дек 2007
    Сообщения:
    128
    Симпатии:
    35
    вместо curl -s можно просто написать GET (по крайней мере в cpanel)
    или wget
     
  7. EugeneVC

    EugeneVC

    Регистр.:
    28 окт 2007
    Сообщения:
    297
    Симпатии:
    83
    запускать по крону можно как
    wget ваш_URL
    или
    /usr/bin/php - вызов интрепритатора php

    нужно учитывать что для крона нет путей к популярным файлам, тоесть всегда нада писать
    не wget, а /usr/bin/wget
     
  8. kahovsky

    kahovsky Постоялец

    Регистр.:
    25 сен 2007
    Сообщения:
    143
    Симпатии:
    9
    wget прекрасно работает в кроне и без указания пути... проверено
     
  9. ExclusiveX

    ExclusiveX Создатель

    Регистр.:
    7 дек 2007
    Сообщения:
    10
    Симпатии:
    0
    подскажите, а как правильно писать путь к запускаемому файлу cron`ом в directadmine?
     
  10. modesco

    modesco Создатель

    Регистр.:
    4 июн 2007
    Сообщения:
    38
    Симпатии:
    1
    все зависит от того, где у тебя расположен каталог с файлами запускаемыми. обычно это /home/username/domains/domainname/public_html
     
Статус темы:
Закрыта.