Задание Cron для выполнения программы PHP

У меня есть сервер Linux, и в нем я хочу выполнить задание cron для отправки почты на день рождения всем моим друзьям с помощью программы PHP. Я хочу создать программу php, которая считывает данные из базы данных и отправляет почту.

Я хочу знать команду задания cron для автоматического выполнения программы каждый день. Я не знаю команд Linux.


person Abhishek    schedule 05.02.2011    source источник


Ответы (3)


Вы захотите немного прочитать о команде «crontab», но в основном вы сделаете это.

В командной строке Linux запустите команду crontab.

Затем добавьте эту запись:

* * * * * php yourscript/path

Вы можете установить время, изменив значения *. См. этот URL-адрес для получения информации об этом:

http://adminschoice.com/crontab-quick-reference

person Roloc    schedule 05.02.2011
comment
Это будет работать каждую минуту каждого дня. crontab не запускается под вашим собственным пользователем, поэтому его PATH отличается, и очень часто даже не включают /usr/bin, поэтому лучше указать полный путь к интерпретатору. - person Dan Grossman; 05.02.2011
comment
Почему за этот ответ проголосовали? Ролок сказал, что значения * должны быть изменены... - person Lukas Eder; 05.02.2011
comment
В нем четко указано, что значения * должны быть изменены, со ссылкой на другой URL-адрес, который полностью объясняет синтаксис crontab, который иногда сбивает с толку новых пользователей. Однако да, путь должен быть абсолютным, так как он будет работать под любыми пользователями, под которыми у вас запущены ваши задания cron. - person Roloc; 05.02.2011

Это команда для добавления в ваш файл crontab:

0 0 * * * /usr/bin/php /path/to/your/script.php

При необходимости измените пути к интерпретатору PHP и вашему сценарию. Он будет запускать ваш скрипт каждый день в полночь.

person Dan Grossman    schedule 05.02.2011
comment
Выполнить crontab -e. Откроется текстовый редактор, где вы можете добавить эту строку ;-) - person yankee; 05.02.2011
comment
Не знаю, кто поставил -1, это короткий, но правильный ответ. (Некоторое объяснение не помешало бы.) - person sevenseacat; 05.02.2011

Это делается с помощью таблицы cron в системах unix, включая linux. Ознакомьтесь с некоторыми примерами документации:

Вы найдете гораздо больше, если погуглите crontab или просмотрите man crontab страниц на своем Linux-боксе.

person Lukas Eder    schedule 05.02.2011