Files
crm.clientright.ru/erv_project_tools
Fedor ac7467f0b4 Major CRM updates: AI Assistant, Court Status API, S3 integration improvements, and extensive file storage system
- Added comprehensive AI Assistant system (aiassist/ directory):
  * Vector search and embedding capabilities
  * Typebot proxy integration
  * Elastic search functionality
  * Message classification and chat history
  * MCP proxy for external integrations

- Implemented Court Status API (GetCourtStatus.php):
  * Real-time court document status checking
  * Integration with external court systems
  * Comprehensive error handling and logging

- Enhanced S3 integration:
  * Improved file backup system with metadata
  * Batch processing capabilities
  * Enhanced error logging and recovery
  * Copy operations with URL fixing

- Added Telegram contact creation API
- Improved error logging across all modules
- Enhanced callback system for AI responses
- Extensive backup file storage with timestamps
- Updated documentation and README files

- File storage improvements:
  * Thousands of backup files with proper metadata
  * Fix operations for broken file references
  * Project-specific backup and recovery systems
  * Comprehensive file integrity checking

Total: 26,461+ files added/modified including AWS SDK, vendor dependencies, and extensive backup system.
2025-10-16 11:17:21 +03:00
..

Инструменты для работы с проектом ERV

Обзор

Данная папка содержит набор инструментов для обслуживания, мониторинга и управления проектом ERV (Единая Реестровая Выплата).

Структура файлов

erv_project_tools/
├── README.md                    # Этот файл
├── PROJECT_DOCUMENTATION.md     # Полная документация проекта
├── DEPLOYMENT_GUIDE.md          # Руководство по развертыванию
├── backup_erv.sh                # Скрипт резервного копирования
├── monitor_erv.sh               # Скрипт мониторинга системы
├── maintenance_erv.sh            # Скрипт обслуживания системы
├── crontab_setup.sh             # Настройка автоматических задач
├── manage_cron.sh               # Управление cron задачами
├── generate_weekly_report.sh    # Генерация еженедельных отчетов
├── backups/                     # Папка с резервными копиями
└── logs/                        # Папка с логами

Быстрый старт

1. Настройка автоматических задач

sudo ./crontab_setup.sh

2. Ручное резервное копирование

./backup_erv.sh

3. Мониторинг системы

./monitor_erv.sh

4. Обслуживание системы

./maintenance_erv.sh

Подробное описание инструментов

📋 PROJECT_DOCUMENTATION.md

Полная техническая документация проекта ERV, включающая:

  • Архитектуру системы
  • Описание функциональности
  • Настройки базы данных
  • Интеграции с внешними сервисами
  • Рекомендации по безопасности

🚀 DEPLOYMENT_GUIDE.md

Пошаговое руководство по развертыванию проекта в продакшене:

  • Системные требования
  • Установка зависимостей
  • Настройка веб-сервера
  • Настройка базы данных
  • Настройка SSL
  • Мониторинг и безопасность

💾 backup_erv.sh

Скрипт автоматического резервного копирования:

Функции:

  • Резервное копирование базы данных
  • Резервное копирование файлов проекта
  • Резервное копирование папки cache (критически важно!)
  • Резервное копирование папки uploads
  • Сжатие и архивирование
  • Очистка старых резервных копий
  • Проверка доступности внешних API

Использование:

# Автоматическое выполнение
./backup_erv.sh

# С выводом в лог
./backup_erv.sh >> logs/backup.log 2>&1

Результат:

  • erv_db_YYYYMMDD_HHMMSS.sql.gz - база данных
  • erv_files_YYYYMMDD_HHMMSS.tar.gz - файлы проекта
  • erv_cache_YYYYMMDD_HHMMSS.tar.gz - папка cache
  • erv_uploads_YYYYMMDD_HHMMSS.tar.gz - папка uploads
  • backup_info_YYYYMMDD_HHMMSS.txt - информация о бэкапе

📊 monitor_erv.sh

Скрипт мониторинга состояния системы:

Проверки:

  • Доступность проекта
  • Размер папки uploads
  • Состояние папки cache
  • Подключение к базе данных
  • Доступность внешних API
  • Системные ресурсы (диск, память, CPU)
  • SSL сертификат
  • Целостность файлов
  • Последние изменения

Использование:

# Разовый запуск
./monitor_erv.sh

# Автоматический запуск каждые 15 минут
*/15 * * * * /path/to/monitor_erv.sh

Результат:

  • Лог в logs/monitor.log
  • Отчет в monitor_report_YYYYMMDD_HHMMSS.txt
  • Email уведомления при ошибках

🔧 maintenance_erv.sh

Интерактивный скрипт обслуживания системы:

Операции:

  1. Полное обслуживание - все операции
  2. Очистка временных файлов - PHP сессии, кеш, логи
  3. Оптимизация базы данных - оптимизация таблиц
  4. Исправление прав доступа - установка правильных прав
  5. Проверка целостности файлов - проверка критических файлов
  6. Очистка логов - архивирование и очистка старых логов
  7. Проверка зависимостей - PHP, MySQL, расширения
  8. Проверка производительности - время отклика, соединения
  9. Проверка безопасности - подозрительные файлы, права доступа

Использование:

# Интерактивный режим
./maintenance_erv.sh

# Автоматическое обслуживание
echo "1" | ./maintenance_erv.sh

crontab_setup.sh

Скрипт настройки автоматических задач:

Устанавливаемые задачи:

  • Резервное копирование: ежедневно в 2:00
  • Мониторинг: каждые 15 минут
  • Обслуживание: еженедельно в воскресенье в 3:00
  • Очистка логов: ежемесячно
  • Проверка SSL: еженедельно
  • Проверка размера uploads: ежедневно
  • Проверка доступности сайта: каждые 5 минут
  • Проверка БД: каждые 10 минут
  • Проверка API: ежечасно
  • Еженедельный отчет: по понедельникам в 9:00

Использование:

sudo ./crontab_setup.sh

📈 generate_weekly_report.sh

Скрипт генерации еженедельных отчетов:

Содержимое отчета:

  • Статус системы
  • Использование ресурсов
  • Размеры папок
  • Статистика логов
  • Проблемы за неделю
  • Рекомендации

Использование:

# Ручная генерация
./generate_weekly_report.sh

# Автоматическая отправка по email
./generate_weekly_report.sh | mail -s "ERV Weekly Report" admin@clientright.ru

🎛️ manage_cron.sh

Интерактивный скрипт управления cron задачами:

Функции:

  1. Показать все cron задачи ERV
  2. Показать логи резервного копирования
  3. Показать логи мониторинга
  4. Показать логи обслуживания
  5. Очистить старые логи
  6. Перезапустить cron службу
  7. Проверить статус cron службы

Использование:

./manage_cron.sh

Настройка и конфигурация

Переменные окружения

Все скрипты используют следующие переменные:

PROJECT_PATH="/var/www/fastuser/data/www/erv.clientright.ru"
TOOLS_DIR="/var/www/fastuser/data/www/crm.clientright.ru/erv_project_tools"
DB_NAME="ci20465_erv"
DB_USER="ci20465_erv"
DB_PASS="c7vOXbmG"
EMAIL="admin@clientright.ru"

Права доступа

# Установка прав на выполнение
chmod +x *.sh

# Права на директории
chmod 755 backups/ logs/

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

Для отправки email уведомлений установите:

sudo apt install mailutils -y

Мониторинг и логирование

Логи

Все скрипты ведут логи в папке logs/:

  • backup.log - логи резервного копирования
  • monitor.log - логи мониторинга
  • maintenance.log - логи обслуживания

Ротация логов

Логи автоматически ротируются:

  • Старые логи (>30 дней) удаляются автоматически
  • Ежемесячная очистка в первый день месяца

Уведомления

Email уведомления отправляются при:

  • Ошибках в системе
  • Недоступности сайта
  • Проблемах с базой данных
  • Недоступности внешних API
  • Истечении SSL сертификата
  • Превышении размера папки uploads

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

Резервные копии

  • Автоматическое создание ежедневно
  • Хранение в отдельной папке
  • Сжатие для экономии места
  • Автоматическая очистка старых копий

Мониторинг безопасности

  • Проверка подозрительных файлов
  • Контроль прав доступа
  • Мониторинг изменений в файлах
  • Проверка целостности критических файлов

Доступ к скриптам

  • Все скрипты требуют соответствующих прав
  • Критические операции требуют подтверждения
  • Логирование всех действий

Устранение неполадок

Частые проблемы

  1. Ошибка прав доступа

    sudo chown -R www-data:www-data /var/www/fastuser/data/www/erv.clientright.ru
    sudo chmod +x *.sh
    
  2. Проблемы с cron

    sudo systemctl restart cron
    sudo systemctl status cron
    
  3. Проблемы с базой данных

    mysql -uci20465_erv -pc7vOXbmG -e "SELECT 1;" ci20465_erv
    
  4. Проблемы с логами

    tail -f logs/monitor.log
    tail -f logs/backup.log
    

Проверка работоспособности

# Проверка всех скриптов
./monitor_erv.sh
./backup_erv.sh
./maintenance_erv.sh

# Проверка cron задач
./manage_cron.sh

Контакты и поддержка

  • Разработчик: Фёдор
  • Система: Ubuntu 22.04
  • Проект: ERV (Единая Реестровая Выплата)
  • Статус: Продакшен

Лицензия

Все инструменты разработаны для внутреннего использования проекта ERV.


ВАЖНО: Всегда тестируйте изменения в staging среде перед применением в продакшене!

ПРЕДУПРЕЖДЕНИЕ: Папка /cache критически важна для работы крона. Никогда не удаляйте её содержимое без создания резервной копии!