46 lines
1.3 KiB
Bash
Executable File
46 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# ================================================
|
|
# FACTUGES SYNC - Deploy cron jobs
|
|
# -----------------------------------------------
|
|
# Este script:
|
|
# - Crea /var/log/factuges-sync
|
|
# - Instala los cron jobs de producción
|
|
# - Mantiene los cron jobs idempotentes
|
|
# ================================================
|
|
|
|
COMPANY="${1:-acme}"
|
|
|
|
CRON_FILE="/tmp/factuges-sync-cron-${COMPANY}.txt"
|
|
|
|
echo "📄 Generando cron file temporal: ${CRON_FILE}"
|
|
|
|
mkdir -p /var/log/factuges-sync
|
|
|
|
cat > "$CRON_FILE" <<EOF
|
|
# ===== FACTUGES SYNC JOBS (${COMPANY}) =====
|
|
|
|
# Sincronización FactuGES → cada 5 minutos
|
|
*/5 * * * * docker run --rm \
|
|
-e ENV=prod \
|
|
factuges-sync-factuges:${COMPANY}-latest \
|
|
>> /var/log/factuges-sync/factuges.log 2>&1
|
|
|
|
# Sincronización Verifactu → cada 7 minutos
|
|
*/7 * * * * docker run --rm \
|
|
-e ENV=prod \
|
|
factuges-sync-verifactu:${COMPANY}-latest \
|
|
>> /var/log/factuges-sync/verifactu.log 2>&1
|
|
EOF
|
|
|
|
echo "📥 Instalando cron jobs del sistema..."
|
|
|
|
crontab "$CRON_FILE"
|
|
|
|
echo "---------------------------------------------"
|
|
echo "✔ Cron jobs instalados correctamente"
|
|
echo "✔ Logs → /var/log/factuges-sync/"
|
|
echo "✔ Puedes comprobar con: crontab -l"
|
|
echo "---------------------------------------------"
|