Запуск задания "cron" на сервере Windows [дубликат]


Возможный Дубликат:
Какова версия cron для Windows?

Всем привет,

У меня есть script.php на сервере IIS, и я хочу автоматически вызывать этот скрипт каждые x минут. Проблема в том, что мне нужно передать аргументы скрипту, как я бы сделал в браузере (script.php?task=aaa). похоже, что запланированная задача игнорирует аргумент ?task=aaa...

Как я могу запустить этот скрипт, передав его некоторым "ПОЛУЧИТЬ" аргументы?

Спасибо, Л

Author: Community, 2011-05-27

3 answers

Вы можете передать параметры в файл, вызвав его следующим образом:

C:\PHP5\php.exe -f "C:\PHP Scripts\script.php" -- -arg1 -arg2 -arg3

И затем вы можете проанализировать argv с помощью этой функции:

function arguments($args ) {
    $ret = array(
        'exec'      => '',
        'options'   => array(),
        'flags'     => array(),
        'arguments' => array(),
    );

    $ret['exec'] = array_shift( $args );

    while (($arg = array_shift($args)) != NULL) {
        // Is it a option? (prefixed with --)
        if ( substr($arg, 0, 2) === '--' ) {
            $option = substr($arg, 2);

            // is it the syntax '--option=argument'?
            if (strpos($option,'=') !== FALSE)
                array_push( $ret['options'], explode('=', $option, 2) );
            else
                array_push( $ret['options'], $option );

            continue;
        }

        // Is it a flag or a serial of flags? (prefixed with -)
        if ( substr( $arg, 0, 1 ) === '-' ) {
            for ($i = 1; isset($arg[$i]) ; $i++)
                $ret['flags'][] = $arg[$i];

            continue;
        }

        // finally, it is not option, nor flag
        $ret['arguments'][] = $arg;
        continue;
    }
    return $ret;
}//function arguments

Источник: http://php.net/manual/en/features.commandline.php

 4
Author: WhiskeyTangoFoxtrot, 2011-05-27 17:07:35

У меня есть два таких задания cron на моем сервере Windows 2003. Я программирую задачу schelude iexplorer с URL-адресом, с которым я могу работать.

Например:

"C:\ProgramFiles\Internet Explorer\iexplore.exe "http://mydomain.com/admin/index.php?action=central_alertas.php&act=1

 6
Author: Fran Hurtado, 2011-05-27 16:59:11

Я бы предложил загрузить CURL для Windows, так как он может сделать запрос страницы на ваш сервер для вас. Затем вы можете использовать Планировщик задач Windows для выполнения curl script.php?task=aaa.

 3
Author: Michael Mior, 2011-05-27 16:58:03