Я новичок в использовании cron. Я даже не знаю, как это написать. Я пробовал искать в Интернете, но все еще плохо понимаю. Я хочу создать задание cron, которое будет выполнять мой код каждую минуту. Я использую PHP для его создания. Это не работает.
пример
run.php (код, который будет выполняться каждую минуту)
<?php
echo "This code will run every minute";
?>
cron.php
<?php
$path = dirname(__FILE__);
$cron = $path . "/run.php";
echo exec("***** php -q ".$cron." &> /dev/null");
?>
Предположим, что эти два файла находятся в одной папке.
Код, который я сделал неправильно? Если ошиблись, подскажите, пожалуйста, как это исправить.
crontab
Ответы:
Это лучшее объяснение кода на PHP, которое я нашел до сих пор:
http://code.tutsplus.com/tutorials/managing-cron-jobs-with-php--net-19428
Коротко:
Хотя на первый взгляд синтаксис планирования нового задания может показаться сложным, на самом деле его относительно просто понять, если разбить его на части. Задание cron всегда будет иметь пять столбцов, каждый из которых представляет собой хронологический «оператор», за которым следует полный путь и команда для выполнения:
* * * * * главная / путь / к / команде / the_command.sh
Каждый из хронологических столбцов имеет определенное отношение к расписанию задачи. Вот они:
Так, например, если кто-то хочет запланировать задачу на 12 часов утра первого числа каждого месяца, это будет выглядеть примерно так:
0 0 1 * * домашний / путь / к / команде / the_command.sh
Если бы мы хотели запланировать запуск задачи каждую субботу в 8:30, мы бы написали ее следующим образом:
30 8 * * 6 домой / путь / к / команде / the_command.sh
Есть также ряд операторов, которые можно использовать для дальнейшей настройки расписания:
Посетите ссылку для получения полной статьи, в ней объясняется:
источник
Таким же образом, как вы пытаетесь запустить cron.php, вы можете запустить другой скрипт PHP. Однако вам придется сделать это через интерфейс командной строки.
Затем добавьте запись в crontab:
Если у сценария run.php были разрешения на выполнение, он мог быть указан непосредственно в crontab, без части / usr / bin / php. Часть «env php» в сценарии найдет подходящую программу для фактического запуска кода PHP. Итак, для «исполняемой» версии - добавьте исполняемое разрешение к файлу:
а затем добавьте в crontab следующую запись:
источник
Добавленный в Alister, вы можете редактировать crontab обычно (не всегда), введя crontab -e в сеансе ssh на сервере.
Звезды представляют (* означает каждый из этих единиц):
Вы можете прочитать об этом здесь .
источник
Введите в терминале linux / ubuntu следующее
выберите редактор (иногда он запрашивает редактор), и он запускается каждую минуту
источник
Это может зависеть от вашего веб-хостинга, если вы не размещаете свой собственный контент. Если ваш веб-хостинг поддерживает создание заданий хронографа, у них может быть форма для заполнения, позволяющая выбрать частоту и ввести абсолютный путь к файлу для выполнения. Например, мой веб-хостинг (DreamHost) позволяет мне создавать пользовательские задания cron, вводя абсолютный путь к файлу и выбирая частоту из меню выбора. Это может быть невозможно для вашего сервера, и в этом случае вам нужно либо отредактировать crontab напрямую, либо с помощью метода, специфичного для вашего хоста.
Как подробно описывает Алистер Булман выше, создайте файл PHP для запуска с помощью CLI (убедитесь, что вы включили его
#!/usr/bin/env php
в самом начале файла перед<?php
тегом. Это гарантирует, что оболочка знает, какой исполняемый файл должен быть вызван при запуске сценария.источник
почему вы не используете curl? логически, если вы запустите файл php, вы выполните его по URL-адресу в своем браузере. это очень просто, если вы запустите curl
источник
источник
Сначала откройте свой SSH-сервер с именем пользователя и паролем и измените на пользователя root по умолчанию (Пользователь со всеми разрешениями), затем выполните следующие действия:
crontab -l
теперь вы увидите список всех cronjobs.crontab -e
файл со всеми заданиями cron будет открыт.min hr dayofmonth month dayofweek pathtocronjobfile
и сохраните файл.crontab: installing new crontab
теперь снова проверьте список cronjobs, в котором будет указано ваше задание cron.источник
Лучше использовать для этой задачи проект Cron в сочетании с Linux cronjob. Он позволяет вам настраивать время выполнения в вашем PHP-коде, поддерживать фоновые задания и прост в использовании.
На первом этапе каждую минуту вызывайте PHP-скрипт:
Второй шаг: используйте пакет cron / cron для настройки времени выполнения непосредственно в PHP.
Вы нашли подробную информацию о том, как использовать в связанном репозитории.
источник
Создайте такую cronjob, чтобы работать каждую минуту
источник
Есть простой способ решить эту проблему: вы можете запускать php-файл с помощью cron каждую минуту, а внутри исполняемого файла php сделать оператор «if» для выполнения, когда время «сейчас», как это
источник
источник