#php #cron #executable #crontab
#php #исполняемый #cron
Вопрос:
Из основы php я знаю, что в php должно быть какое-то действие / запрос для выполнения, поэтому я немного запутался в том, как это сделать. Я знаю, что это можно сделать, но не знаю как.
Я хочу написать php-скрипт, который будет запускаться на сервере каждые 6 часов и обновлять информацию базы данных из api.
Подробная информация:
Сервер, на котором я сейчас работаю, находится в Linux. Но я хочу знать, как я могу это сделать как в Linux, так и в Windows.
Обновить:
Cron не находит мой скрипт. Я не знаю, в чем проблема. Я использовал эту команду в своей cpanel
0 */6 * * * php public_html/path_to_dir/file_to_run.php
Я настроил cron, чтобы cPanel отправила мне электронное письмо. В электронном письме, которое я получаю, отображается какая-то ошибка.
/bin/sh: 0: command not found
С нетерпением жду вашей помощи.
Комментарии:
1. Рассматривали ли вы возможность использования chron jobs для этого?
2. @Pradeep: cron. Не имеет ничего общего с греческим chronos 🙂
3. @Квентин @Фабио М. @Бобби Джек: Исправьте проблему. Пожалуйста, проверьте!
4. Вы установили
php5-cli
пакет? Существует ли этот файл/usr/bin/php
?
Ответ №1:
Вам нужно, чтобы что-то запускало скрипт по таймеру. Обычно это будет cron (в системах на базе UNIX, таких как Linux, OS X, BSD и т.д.) Или Windows Task Schedular (в Windows).
Комментарии:
1. При этом таймер не обязательно запускать на сервере. Если PHP-скрипт доступен через Interwebs, его может вызвать любая машина с определенным cronjob, например, через cUrl или wget.
2. Итак, мне понадобятся два типа скриптов для Windows и Linux? @Boldewyn: Не уверен, что вы имеете в виду: (Можете ли вы дать какие-либо ссылки, с которых я могу начать?
3. Нет. Один скрипт. Вам просто нужно использовать другую программу, чтобы запускать ее по таймеру. (Хотя я думаю, вы можете получить cron для Windows)
Ответ №2:
Вы можете использовать crontab для планирования процесса в Unix.
Комментарии:
1. это лучший способ сделать это — единственное, вам нужно убедиться, что ваш хост поддерживает его, и вам нужно знать, как подключиться к вашему серверу с помощью SSH (погуглите программу под названием Putty)
Ответ №3:
Я предполагаю, что вы используете S.O. на базе Linux.
- Установите пакет php5-cli от имени root с помощью
apt-get install php5-cli
(или вашего pkg manager). - Напишите и протестируйте свой скрипт с помощью PHP CLI,
php
.
filename.php - Войдите в систему как выбранный пользователь и настройте crontab с помощью
crontab -e
- Напишите строку crontab:
* */6 * * * php /full-path/filename.php
/var/log/messages
следует регистрировать действия crontab.
Комментарии:
1. Привет, я использую этот фрагмент кода для добавления задания corn
0 */6 * * * php /full-path/filename.php
будет ли оно выполняться каждые 6 часов?2. Исправьте проблему. Пожалуйста, проверьте!