Вам следует подумать об использовании cron job.Пожалуйста, посмотрите на эти пример 1 и пример 2
Это лучшее объяснение с кодом на PHP, который я нашел до сих пор:
http://code.tutsplus.com/tutorials/managing-cron-jobs-with-php--net-19428
Вкратце:
Хотя синтаксис планирования нового задания может показаться на первый взгляд пугающим, на самом деле понять его относительно просто, если разбить его.Задание cron всегда будет иметь пять столбцов, каждый из которых представляет хронологический «оператор», за которым следует полный путь и команда для выполнения:
\* * * * * home/path/to/command/the_command.sh
Каждый из хронологических столбцов имеет конкретное отношение к расписаниюзадача.Они выглядят следующим образом:
Minutes represents the minutes of a given hour, 0-59 respectively.
Hours represents the hours of a given day, 0-23 respectively.
Days represents the days of a given month, 1-31 respectively.
Months represents the months of a given year, 1-12 respectively.
Day of the Week represents the day of the week, Sunday through Saturday, numerically, as 0-6 respectively.
![enter image description here](https://github.com/peppeocchi/php-cron-scheduler)
Так, например, если вы хотите запланировать задание на 12 часов утра в первый день каждого месяцаэто выглядело бы примерно так:
0 0 1 * * home/path/to/command/the_command.sh
Если бы мы хотели запланировать выполнение задачи каждую субботу на 8:30, мы бы написали это следующим образом:
30 8 * * 6 home/path/to/command/the_command.sh
Естьтакже ряд операторов, которые можно использовать для дальнейшей настройки расписания:
Commas is used to create a comma separated list of values for any of the cron columns.
Dashes is used to specify a range of values.
Asterisksis used to specify 'all' or 'every' value
Перейдите по ссылке для полной статьи, там объясняется:
- В каком форматеcronjob, если вы хотите ввести / отредактировать его вручную.
- Как использовать PHP с библиотекой SSH2 для аутентификации пользователя, какой crontab вы собираетесь редактировать.
- Полный класс PHP со всеминеобходимые методы для аутентификации, редактирования и удаления записей crontab.