Мне нужен синтаксис crontab, который должен выполнять конкретный PHP script /var/www/html/a.php
каждую минуту. Исполнение в каждую минуту должно начинаться в 00:00. Другая задача, которая должна выполнить script в 00:00 /var/www/html/reset.php
(один раз каждые 24 часа).
Использование crontab для выполнения script каждую минуту и другое каждые 24 часа
Ответ 1
каждую минуту:
* * * * * /path/to/php /var/www/html/a.php
каждые 24 часа (каждую полночь):
0 0 * * * /path/to/php /var/www/html/reset.php
См. эту ссылку о том, как работает crontab: http://adminschoice.com/crontab-quick-reference, и этот удобный инструмент для создания cron jobx: http://www.htmlbasix.com/crontab.shtml
Ответ 2
Это формат /etc/crontab:
# .---------------- minute (0 - 59)
# | .------------- hour (0 - 23)
# | | .---------- day of month (1 - 31)
# | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
# | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# | | | | |
# * * * * * user-name command to be executed
Я рекомендую копировать и вставлять это в верхнюю часть вашего файла crontab, чтобы вы всегда имели ссылку. По умолчанию системы RedHat настроены таким образом.
Чтобы запустить что-то каждую минуту:
* * * * * username /var/www/html/a.php
Чтобы запустить что-нибудь в полночь каждого дня:
0 0 * * * username /var/www/html/reset.php
Вы можете включить /usr/bin/php в исполняемую команду или выполнить скрипты php напрямую:
chmod +x file.php
Запустите свой php файл с помощью shebang, чтобы ваша оболочка узнала, какой интерпретатор использовать:
#!/usr/bin/php
<?php
// your code here