Skip to main content

Автоматизация и cron-задачи

WHMCS использует основную cron-задачу для выполнения всех своих автоматических процессов: выставление счетов, продления, синхронизация доменов, отправка email и т. д. Правильная настройка cron необходима для корректной работы модуля регистратора HostMyServers.

Настройка основной cron-задачи

Cron-задача WHMCS должна выполняться каждые 5 минут на вашем сервере. Из панели управления сервером (cPanel, Plesk или напрямую через crontab) добавьте следующую запись:

*/5 * * * * /usr/bin/php -q /путь/к/whmcs/crons/cron.php

Замените /путь/к/whmcs/ на абсолютный путь к вашей установке WHMCS.

Нахождение абсолютного пути

Если вы не уверены в пути, подключитесь по SSH и выполните pwd из корневой директории WHMCS. На типичном cPanel это будет /home/вашпользователь/public_html/ или аналогично.

Через cPanel

  1. Войдите в cPanel
  2. Перейдите в Запланированные задачи (Cron Jobs)
  3. В поле Команда введите:
    /usr/bin/php -q /home/ВАШ_ПОЛЬЗОВАТЕЛЬ/public_html/crons/cron.php
  4. Выберите частоту: Каждые 5 минут
  5. Нажмите Добавить cron-задачу

Через SSH / crontab

crontab -e

Добавьте строку:

*/5 * * * * /usr/bin/php -q /var/www/whmcs/crons/cron.php > /dev/null 2>&1

Задача синхронизации доменов

Помимо основного cron, в WHMCS есть специальная задача для синхронизации доменов. Она автоматически выполняется через основной cron, но вы также можете запустить её вручную.

Ручная синхронизация

Из административного интерфейса WHMCS:

УтилитыСинхронизация доменов

На этой странице можно:

  • Немедленно запустить полную синхронизацию
  • Просмотреть последние результаты синхронизации
  • Определить домены, статус или дата истечения которых отличаются между WHMCS и HostMyServers

Рекомендуемая частота

Автоматическая синхронизация запускается раз в день через основной cron. В большинстве случаев этого достаточно. Если вы управляете большим объёмом доменов или часто выполняете операции непосредственно из личного кабинета HostMyServers, вы можете увеличить частоту:

0 */6 * * * /usr/bin/php -q /var/www/whmcs/crons/cron.php --do DomainStatusSync > /dev/null 2>&1

Это запустит синхронизацию каждые 6 часов.

Автоматические продления

WHMCS управляет автоматическими продлениями в соответствии с настройкой каждого домена. Вот стандартный процесс:

Время до истеченияДействие WHMCS
Д-30Генерация счёта на продление
Д-141-е напоминание клиенту по email
Д-72-е напоминание клиенту по email
Д-0Истечение (если счёт не оплачен)
Д+xПриостановка сервиса (согласно настройке)

Автоматическое продление на стороне HostMyServers

По умолчанию модуль не активирует автоматическое продление на стороне HostMyServers (продление инициируется WHMCS через API). Если вы хотите, чтобы домены автоматически продлевались HostMyServers независимо от WHMCS, включите опцию Авто-продление в вашем личном кабинете HostMyServers.

Двойное продление

Избегайте включения автоматического продления одновременно в WHMCS и в личном кабинете HostMyServers — это риск двойной оплаты и двойного продления одного домена.

Автоматические email-напоминания о продлении

WHMCS автоматически отправляет напоминания клиентам перед истечением срока их доменов. Эти email используют шаблоны, настроенные в:

НастройкиСистемаШаблоны email → категория Домены

Шаблоны, относящиеся к доменам HostMyServers:

ШаблонТриггер
Domain Expiry NoticeНапоминания перед истечением (Д-30, Д-14, Д-7)
Domain Renewal SuccessfulПодтверждение продления
Domain Transfer InitiatedНачало входящего переноса
Domain Transfer CompletedЗавершение переноса

Настройте эти шаблоны в соответствии с вашим брендингом и коммерческими сообщениями. Доступные переменные (имя домена, дата истечения, ссылка на оплату и т. д.) перечислены в редакторе WHMCS при наведении мыши на поле.

Проверка корректной работы cron

Для проверки корректного выполнения cron:

  1. В администрировании WHMCS перейдите в УтилитыАктивностьЖурналы активности
  2. Отфильтруйте по типу Cron
  3. Убедитесь в наличии свежих записей (каждые 5 минут)

Если записи отсутствуют более 15 минут, cron не настроен или не выполняется. Проверьте конфигурацию на стороне сервера и возможные сообщения об ошибках в логах PHP.