- 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.
4.0 KiB
4.0 KiB
Git Backup System для CRM
Обзор
Система автоматического бэкапа Git репозитория CRM проекта с возможностью загрузки на S3.
Файлы
backup_to_s3.sh- Основной скрипт бэкапа с загрузкой на S3daily_backup.sh- Простой ежедневный бэкап.gitignore- Исключения для Gitbackups/- Папка для локальных бэкапов
Использование
Ручной бэкап
# Создать бэкап с описанием
./backup_to_s3.sh "Описание изменений"
# Создать бэкап с автоматическим описанием
./backup_to_s3.sh
Автоматический ежедневный бэкап
# Добавить в crontab для ежедневного бэкапа в 2:00
crontab -e
# Добавить строку:
0 2 * * * /var/www/fastuser/data/www/crm.clientright.ru/daily_backup.sh
Настройка S3
1. Установка AWS CLI
# Ubuntu/Debian
sudo apt install awscli
# Или через pip
pip install awscli
2. Настройка credentials
aws configure
# Ввести:
# AWS Access Key ID: [ваш ключ]
# AWS Secret Access Key: [ваш секрет]
# Default region name: ru-central1
# Default output format: json
3. Создание S3 bucket
aws s3 mb s3://crm-backups --region ru-central1
Структура бэкапов
Git коммиты
- Каждый бэкап создает коммит с временной меткой
- История изменений сохраняется в Git
Архивы
- Формат:
crm_backup_YYYYMMDD_HHMMSS.tar.gz - Исключения:
.git,cache,logs,test - Размер: обычно 50-100MB
S3 структура
s3://crm-backups/
├── crm-git-backup/
│ ├── crm_backup_20240926_104500.tar.gz
│ ├── crm_backup_20240926_120000.tar.gz
│ └── ...
Восстановление
Из Git
# Посмотреть историю
git log --oneline
# Откатиться к предыдущей версии
git reset --hard HEAD~1
# Откатиться к конкретному коммиту
git reset --hard <commit-hash>
Из архива
# Скачать с S3
aws s3 cp s3://crm-backups/crm-git-backup/crm_backup_20240926_104500.tar.gz .
# Распаковать
tar -xzf crm_backup_20240926_104500.tar.gz
Мониторинг
Проверка статуса
# Статус Git
git status
# Последние коммиты
git log --oneline -10
# Размер репозитория
du -sh .git
Логи
# Логи ежедневного бэкапа
tail -f /var/log/cron
# Или добавить логирование в скрипт
./daily_backup.sh >> /var/log/crm_backup.log 2>&1
Безопасность
Исключенные файлы
config.inc.php- конфигурация БД.env- переменные окруженияcache/- кеш файлыlogs/- логи*.log- все лог файлы
Рекомендации
- Регулярно проверяйте размер бэкапов
- Настройте lifecycle policy для S3
- Используйте разные bucket для разных окружений
- Шифруйте sensitive данные
Troubleshooting
Проблема: "Permission denied"
sudo chown -R www-data:www-data .
sudo chmod -R 755 .
Проблема: "AWS CLI not found"
# Установить AWS CLI
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
Проблема: "Bucket does not exist"
# Создать bucket
aws s3 mb s3://crm-backups --region ru-central1
Контакты
При проблемах обращайтесь к Фёдору.