Использование crontab для выполнения script каждую минуту и ​​другое каждые 24 часа

Мне нужен синтаксис crontab, который должен выполнять конкретный PHP script /var/www/html/a.php каждую минуту. Исполнение в каждую минуту должно начинаться в 00:00. Другая задача, которая должна выполнить script в 00:00 /var/www/html/reset.php (один раз каждые 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