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.