Страница 4 из 5

Re: Полный путь (Openserver), cron задание

Добавлено: 23 фев 2020, 18:26
Максим
voker писал(а): 20 фев 2020, 14:52 Да напишите же Вы уже тут "Настройка планировщика задач cron OpenServer" жирным шрифтом, для тех кто не знает, что нужно использовать абсолютные пути в исполняемом скрипте.
voker, и слава богу что не знают. Нужно использовать относительные, только правильно. Я уже не раз давал примеры в разных темах. А абсолютные пути это ЗЛО.

Вот кстати пример, для тех кто в танке.
define('ROOT_DIR', str_replace('\\', '/', dirname(__FILE__)));

include ROOT_DIR.'/php_file.php';

Не получается запустить скрипт через Планировщик заданий.

Добавлено: 25 фев 2020, 02:53
ruslan2243
Ospanel5.3.5
Хотел потестить работу планировщика для более сложных задач. Создал простенький скрипт, который создает файл. И планировщик не работает.
Всё что можно перечитал и перепробовал.

В консоли всё работает.

Может кто знает, как можно запустить скрипт в консоли OSPanel через планировщик?

Пробовал php-win.exe и php.exe, php.ini и без него, подсовывал другие конфиги, абсолютные пути подсовывал. Переименовал папку с OSPanel535 -> ospanel535. Не помогает

В настройках
*/1 * * * * 
%progdir%\modules\php\%phpdriver%\php-win.exe -c %progdir%\modules\php\%phpdriver%\php.ini -q -f %sitedir%\cron.loc\index.php

Вот что в логах планировщика:
25 Feb 03:42:49 Start nnCron
25 Feb 03:42:49 Load cron.tab
25 Feb 03:43:00 Start: c:\ospanel535\modules\php\PHP_7.3-x64\php-win.exe -c c:\ospanel535\modules\php\PHP_7.3-x64\php.ini -q -f c:\ospanel535\domains\cron.loc\index.php
25 Feb 03:43:00 Start result: 0
так же такой вариант пробовал, бестолку:
%COMSPEC% /c %realprogdir%\modules\ConEmu.exe php %realprogdir%\domains\cron.loc\index.php
и
%COMSPEC% /c php %realprogdir%\domains\cron.loc\index.php

Re: Полный путь (Openserver), cron задание

Добавлено: 25 фев 2020, 03:35
Максим
ruslan2243, у вас всё работает, скрипт выполняется, полагаю вы 1001-й кто не использует правильные пути в скриптах (см. моё предыдущее сообщение в этой теме).

Re: Полный путь (Openserver), cron задание

Добавлено: 26 фев 2020, 19:15
ruslan2243
Максим писал(а): 25 фев 2020, 03:35 ruslan2243, у вас всё работает, скрипт выполняется, полагаю вы 1001-й кто не использует правильные пути в скриптах (см. моё предыдущее сообщение в этой теме).
Вы не правы. В скрипте нет никаких путей, это супер простой скрипт, которым я хотел проверить работу планировщика, и который не работает:
<?php
$myfile = fopen("testfile.txt", "w");

$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "John Doe\n";
fwrite($myfile, $txt);
$txt = "Jane Doe\n";
fwrite($myfile, $txt);
fclose($myfile);
Данный скрипт генерирует 2 файла. Всё работает из браузера и из консоли. А через планировщик - ничего не происходит.

Re: Полный путь (Openserver), cron задание

Добавлено: 27 фев 2020, 00:25
Максим
ruslan2243, я не прав? Ах))) ok пример выше был для тех кто в танке, а вам оказывается еще и каску выдали, расходимся :-)

Re: Полный путь (Openserver), cron задание

Добавлено: 28 фев 2020, 08:55
ruslan2243
Максим писал(а): 27 фев 2020, 00:25 ruslan2243, я не прав? Ах))) ok пример выше был для тех кто в танке, а вам оказывается еще и каску выдали, расходимся :-)
Планировщик так и не работает. Обойдусь без него.

Re: Полный путь (Openserver), cron задание

Добавлено: 04 апр 2020, 08:45
Amazko
Друзья как адаптировать такой cron под Openserver ?

wget --quiet -O /dev/null http://www.ваш-сайт.рф/cron

Re: Полный путь (Openserver), cron задание

Добавлено: 06 апр 2020, 22:36
Andrei_G_Pastushenko
Amazko писал(а): 04 апр 2020, 08:45 Друзья как адаптировать такой cron под Openserver ?

wget --quiet -O /dev/null http://www.ваш-сайт.рф/cron
IDN Конвертер в помощь, т.к. нет для сервера кириллицы))

Re: Полный путь (Openserver), cron задание

Добавлено: 08 апр 2020, 00:46
Максим
Amazko, пример в руководстве пользователя для кого написан? Читать лень или что? Вот так будет (idn конвертер в помощь):
%progdir%\modules\wget\bin\wget.exe -q --no-cache http://www.xn----7sbbf2b7bj7b.xn--p1ai/cron -O %progdir%\userdata\temp\temp.txt
/dev/null в Windiows не существует, вместо этого в примере выше сохранение во временный мусорный файл.

Re: Полный путь (Openserver), cron задание

Добавлено: 08 апр 2020, 03:31
APh_New
Максим писал(а): 08 апр 2020, 00:46 /dev/null в Windiows не существует
Прелесть Windows в том, что эта ОС поддерживает обратную совместимость, даже жертвуя стройностью часто.
Windows NT должна была уметь запускать командные файлы (аналог шелл-скриптов) DOS. А в DOS устройство NUL: есть. DOS была сделана по мотивам CP/M. А в 1973 году специальные файлы/устройства в ней были запрограммированы. И там был специальный файл NUL:.

Например, часто в Windows в cmd-скриптах, чтобы показать своё собственное сообщение пишут так, отправляя стандартный поток вывода в nul:

    echo Юзер, жмакни батон...
    pause > nul

Типичный вызов при тестировании программистских задач.
(Ввод из input.txt, вывод в output.txt, вывод ошибок (поток 2) в никуда):

    prog.exe <input.txt >output.txt 2>nul

Немного примеров работы с NUL можно глянуть тут: https://www.cyberforum.ru/cmd-bat/thread836097.html

P. S.: Учётка почему-то заблокирована. Пришлось городить новую... :-(
P. P. S.: Далее уже не совсем про nul, но просто примеры работы с потоками.

Вызов скрипта компиляции с перенаправлением потоков вывода и ошибок на дописывание в файл compile.log:


    call compile_all.cmd %SOLUTION% %TARGET% >>compile.log 2>&1

Дописывание содержимого одного файла в конец другого:


    more <report.txt >>$result$.txt