Files
crm.clientright.ru/crm_extensions/file_storage/N8N_SETUP.md

4.2 KiB
Raw Blame History

Настройка n8n для автоматической миграции файлов в S3

Обзор

Этот документ описывает настройку n8n для автоматического запуска миграции новых файлов из локального хранилища в S3 каждые 5 минут.

Статус системы

  • Phase 1 (S3 Upload): Завершена - файлы загружены в S3
  • Phase 2 (DB Update): Завершена - метаданные S3 обновлены в БД
  • Автоматическая миграция: Готова для n8n интеграции

Большинство файлов уже мигрированы. Система готова для обработки новых файлов.

SSH подключение в n8n

1. Настройка SSH узла в n8n

  1. Добавьте SSH узел в ваш workflow
  2. Настройте подключение:
    • Host: crm.clientright.ru
    • Port: 22
    • Username: fastuser
    • Private Key: Ваш SSH ключ

2. Команда для выполнения

/var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/file_storage/n8n_migration.sh

3. Переменные окружения (опционально)

Вы можете передать параметры через переменные окружения:

LIMIT=20 AGE_MINUTES=10 DRY_RUN=0 /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/file_storage/n8n_migration.sh

Параметры:

  • LIMIT - максимальное количество файлов для обработки за один запуск (по умолчанию: 20)
  • AGE_MINUTES - возраст файлов для обработки в минутах (по умолчанию: 10)
  • DRY_RUN - тестовый режим без реальных изменений (по умолчанию: 0)

Настройка расписания

Cron-подобное расписание в n8n

  1. Добавьте Cron узел перед SSH узлом
  2. Настройте расписание: */5 * * * * (каждые 5 минут)

Мониторинг

Логи

Все операции логируются в:

  • /var/www/fastuser/data/www/crm.clientright.ru/logs/n8n_migration.log

Коды возврата

  • 0 - Успешное выполнение
  • 1 - Предупреждение (пропущенные файлы)
  • 2 - Ошибка (неудачные миграции)

Пример workflow в n8n

[Cron] → [SSH] → [Email/Slack уведомления при ошибках]

Настройка уведомлений

Добавьте условную логику для обработки кодов возврата:

  • Exit code 0: Продолжить нормально
  • Exit code 1: Отправить предупреждение
  • Exit code 2: Отправить уведомление об ошибке

Тестирование

Ручной запуск

# Тестовый режим
DRY_RUN=1 /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/file_storage/n8n_migration.sh

# Реальный запуск с ограничениями
LIMIT=5 AGE_MINUTES=5 /var/www/fastuser/data/www/crm.clientright.ru/crm_extensions/file_storage/n8n_migration.sh

Проверка логов

tail -f /var/www/fastuser/data/www/crm.clientright.ru/logs/n8n_migration.log

Безопасность

  • SSH ключи должны быть настроены без пароля
  • Права доступа к скриптам настроены корректно
  • Логи не содержат чувствительных данных
  • Все операции выполняются от имени пользователя fastuser

Производительность

  • Ограничение на количество файлов за запуск (LIMIT=20)
  • Обработка только новых файлов (AGE_MINUTES=10)
  • Приоритизация через nice и ionice встроена в скрипт