В * nix есть ли способ запустить процесс в будущем? - PullRequest
2 голосов
/ 04 апреля 2009

Я хочу позволить пользователю ввести дату и время для отправки массового электронного письма через PHP, хотя я думаю, что для запуска процесса PHP лучше всего использовать команду * nix. Мне интересно, есть ли способ на * nix сделать это без добавления cronjob для запуска каждые 15 минут, чтобы проверить, есть ли массовое электронное письмо для отправки. Дело не в том, что это интенсивный процесс, но было бы намного приятнее с cronjob добавлять и управлять. Я думаю, что это будет несколько похоже на запланированную задачу Windows с конечной датой и удалением, если она не запланирована снова.

Ответы [ 2 ]

17 голосов
/ 04 апреля 2009

Вы ищете команду на .

в [опции] время [дата]

Выполнять команды в указанное время и необязательная дата. Команды читать из стандартного ввода или из файл. (См. Также пакет.) Завершите ввод с помощью EOF. время может быть сформировано как числовой час (с дополнительными минутами и модификаторы) или в качестве ключевого слова. Оно может содержать необязательную дату, сформированную как месяц и дата, день недели или специальное ключевое слово (сегодня или завтра). Можно также указать приращение.

Команда at всегда может быть выдана привилегированный пользователь. Другие пользователи должны быть указан в файле /etc/at.allow, если он существует; в противном случае они не должны быть перечислены в /etc/at.deny. Если ни файл существует, только привилегированный пользователь может выдать команду.

При обычном использовании вы запускаете и вводите Команды, которые вы хотите выполнить на определенное время, за которым следует EOF.

$ в 1:00 завтра в> ./total_up> вывод на> mail joe < вывод при> вводе нажатием Ctrl-D задание 1 в 2003-03-19 01:00

Две команды также могут быть размещены в файле и представляется следующим образом:

$ в 1:00 завтрашнего дня < файл_сценария

4 голосов
/ 04 апреля 2009

Вы можете использовать at.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...