#!/bin/bash
# 90-services.sh — запуск сервисов, cron, чистка кэша Битрикса.
set -euo pipefail
cd "$(dirname "$0")"; source ./env.sh
need_root

log "Включение и старт сервисов"
systemctl enable --now mariadb
systemctl enable --now "$PHP_FPM_SVC"
systemctl enable --now httpd
systemctl enable --now nginx
sleep 2
for s in mariadb "$PHP_FPM_SVC" httpd nginx; do
  systemctl is-active --quiet "$s" && ok "$s active" || warn "$s НЕ active — смотри: journalctl -u $s -n50"
done

log "Cron"
# 1) Автопродление SSL + почасовое обновление товаров (корректный путь к php 8.2)
cat >/etc/cron.d/mirtkani <<EOF
# certbot renew (Let's Encrypt)
43 6 * * * root certbot renew --quiet && systemctl reload nginx
# почасовое обновление данных товаров (кастомный скрипт сайта)
0 * * * * root /usr/bin/php82 $WEBROOT/local/crontab/update_product_data.php >/dev/null 2>&1
EOF
ok "/etc/cron.d/mirtkani установлен"

# 2) Bitrix-агенты на cron — ПО УМОЛЧАНИЮ ОТКЛЮЧЕНО.
#    На источнике cron указывал на несуществующий /var/www/html → агенты шли «на хитах».
#    Включай ТОЛЬКО если в админке Битрикса включена «Агенты на кроне»
#    (иначе двойной запуск агентов = дубли писем/задач). Корректный путь — ниже.
cat >/etc/cron.d/bitrixagent <<EOF
# */5 * * * * apache /usr/bin/php82 $WEBROOT/bitrix/modules/main/tools/cron_events.php >/dev/null 2>&1
EOF
warn "bitrixagent cron создан ЗАКОММЕНТИРОВАННЫМ — см. комментарий в /etc/cron.d/bitrixagent"

log "Чистка кэша Битрикса"
rm -rf "$WEBROOT"/bitrix/cache/* "$WEBROOT"/bitrix/managed_cache/* \
       "$WEBROOT"/bitrix/stack_cache/* "$WEBROOT"/bitrix/html_pages/* 2>/dev/null || true
chown -R "$SITE_USER:$SITE_GROUP" "$WEBROOT"/bitrix/cache "$WEBROOT"/bitrix/managed_cache 2>/dev/null || true
ok "кэш очищен"

ok "Сервисы подняты. Финал: 99-verify.sh"
