Мой (бесплатный) веб-хостер позволяет мне запускать ОДНУ cronjob (через их веб-интерфейс). Но мне нужно запустить Два. Одно задание cron каждые 10 минут, а другое - каждый час.
Они оба являются PHP-файлами. Есть ли способ иметь только одно задание (которое выполняется каждые 10 минут), которое выполняет 10-минутное задание, а затем также выполняет часовое задание каждые 6 запусков?
Вы можете запускать cron каждые 10 минут, а затем иметь некоторый код вроде следующего в it:
if ((int) date ('i') <5) {
// запускаем другое задание
}
// запускаем основное задание
Я проверяю, меньше ли 5-минутная отметка, на всякий случай, если она не соответствует точно мм: 00. Вы можете получить меньше этой ошибки, если хотите, скажем, 2 или что-то в этом роде.
Это будет запускать 10-минутное задание каждый раз, когда запускается cron, и 1-часовое задание только тогда, когда минут меньше 5.
Можно даже поместите часовое задание в фоновый режим, чтобы оно выполнялось одновременно с 10-минутным заданием. Я оставлю это как упражнение.