есть ли способ добавить php-скрипт (файл) в cron для запуска этого скрипта каждые десять минут или в запланированное время?
потому что я хочу, чтобы пользователь мог планировать, когда отправлять рассылку на большое количество писем, которые он выбирает.
поэтому мне нужно создать задание cron из php для запуска php-файла в указанное время.
это возможно, если у вас есть общая среда веб-хостинга (а не vps)
Если у вас есть имя файла сценария – news.php, а в /home/user/news.php линия crontab выглядит как:
* * * * * php /home/user/news.php
Если вы хотите, не запускайте это каждую минуту. Вы можете редактировать * с левой (m, h, dom, mon, dow)
Но вы не можете сделать это, если только у вас есть тот же веб-хостинг, у вас должен быть доступ к оболочке или другим способом для настройки вашего файла crobtab (возможно, из панели доступа вашего провайдера)
Но вы можете запустить работу crontab на другом сервере, чтобы запустить news.php с помощью apache по протоколу http. В этом случае ваше задание crontab на удаленном сервере должно запускать ваш скрипт через Интернет. Например. wget – хороший вариант для него:
* * * * * wget http://www.yourdomain.com/dir/news.php
Мой совет не позволяет скрипту PHP, вызываемому Apache, изменять cron. На этом все написано. Обычно cron настроен так, чтобы требовать корневого разрешения. Это можно изменить, но дело в том, что если ваш сайт будет взломан, предоставление злоумышленнику возможности изменить ваш cron может быть действительно очень плохой.
Более того, это не обязательно. Все, что вы делаете, это выбрать некоторую детализацию, скажем, каждую минуту или 5 минут или 10 минут. Вы говорите пользователям, что они могут запланировать его до этого уровня. Дайте им несколько вариантов от каждого месяца до каждых 5 минут. Независимо от того, что они выбирают, напишите его в базу данных.
Затем запустите разный PHP-скрипт каждые 1, 5 или 10 минут (независимо от минимальной степени детализации) и посмотрите, как он работает с базой данных, чтобы увидеть, есть ли что-нибудь для запуска, выполнения или отправки.
Yup Возможно, но на совместном хостинге это повлияет как на ваши, так и на другие сайты на этом хосте.
Так что, если ur-файл часто не вызывается cron, тогда удобно размещать cron на общем хосте, но если вам нужно часто его вызывать, тогда это не рекомендуется, вы также можете быть выброшены вашим провайдером, так как никто не хочет, чтобы сайт недоиспользование из-за другого веб-сайта.