Поиск по сайту:

Как запустить PHP-скрипт как обычный пользователь с помощью Cron


Cron — это мощная утилита для планирования задач во времени в операционных системах, подобных Unix, включая Linux. Она работает как демон и может использоваться для планирования задач, таких как команды или скрипты оболочки, для выполнения резервного копирования, планирования обновлений и многого другого, которые выполняются периодически и автоматически в фоновом режиме в определённое время, даты или с заданными интервалами.

Одним из ограничений cron является то, что он предполагает, что система будет работать вечно; поэтому он подходит для серверов, а не для настольных компьютеров. Кроме того, вы можете запланировать задачу на указанное или более позднее время, используя команды «at» или «batch»: но задача выполняется только один раз (она не повторяется).

Рекомендуемое чтение: Как планировать задания с помощью Anacron в Linux

В этой статье мы объясним, как разрешить обычному пользователю системы запускать или выполнять PHP-скрипт через планировщик заданий cron в Linux.

Вы можете планировать задания с помощью программы crontab (CRON TABle). У каждого пользователя может быть свой собственный файл crontab, который состоит из шести полей для определения задания:

  • Минута - принимает значения от 0 до 59.
  • Час - принимает значения от 0 до 23.
  • День месяца - хранит значения от 1 до 31.
  • Месяц года - хранит значения от 1 до 12 или от Jan до Dec, вы можете использовать первые три буквы названия каждого месяца, например Jan или Jun.
  • День недели - принимает значения от 0 до 6 или от Вс до Сб. Здесь вы также можете использовать первые три буквы названия каждого дня, например Вс или Ср.
  • Команда - команда, которая будет выполнена.

Чтобы создавать или редактировать записи в вашем собственном файле crontab, введите:

$ crontab -e

А чтобы просмотреть все ваши записи crontab, введите эту команду (которая просто выведет файл crontab в стандартный вывод):

$ crontab -l

Однако, если вы являетесь системным администратором и хотите выполнить PHP-скрипт от имени другого пользователя, вам необходимо запланировать его в файле /etc/crontab или в crontab-файле пользователя root, которые поддерживают дополнительное поле для указания имени пользователя:

$ sudo vi /etc/crontab

И запланируйте выполнение вашего PHP скрипта таким образом, укажите имя пользователя после раздела с временем.

0 0 * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

Приведённая выше запись выполняет скрипт /var/www/test_site/cronjobs/backup.php каждый день в полночь от имени пользователя tecmint.

Если вы хотите автоматически выполнять приведённый выше скрипт каждые десять минут, то добавьте следующую запись в файл crontab.

*/10 * * * * tecmint /usr/bin/php -f /var/www/test_site/cronjobs/backup.php

В приведённом выше примере */10 * * * * показывает, когда должна выполняться задача. Первая цифра показывает минуты - в этом случае каждые "десять" минут. Остальные цифры показывают, соответственно, час, день, месяц и день недели.

Вам также может быть интересно прочитать следующие связанные статьи.

  1. Использование оболочки для автоматизации задач по обслуживанию системы Linux
  2. 12 полезных команд для PHP, которые должен знать каждый пользователь Linux
  3. Как запускать PHP-коды в терминале Linux
  4. 30 полезных команд Linux для системных администраторов

Вот и всё! Мы надеемся, что вы найдете эту статью полезной. Если у вас есть какие-либо вопросы или дополнительные идеи, которыми вы хотите поделиться по этой теме, воспользуйтесь формой комментариев ниже.