Files
Aknaproff/backup.sh
Deploy Bot 8b36ea16ef v4.1.24: Добавлены поля arve_checked и arve_makstud
- FEAT: Добавлены поля arve_checked (int) и arve_makstud (string) в production_records
- POST /api/records: INSERT с arve_checked, arve_makstud
- PUT /api/records/🆔 UPDATE с arve_checked, arve_makstud
- Docker: docker-compose.prod.yml, ecosystem.config.cjs (PM2)
- wrangler.toml → wrangler.jsonc
- seed.sql: полные тестовые данные
- test_browser.js: E2E тесты
- Удалены старые HOTFIX-файлы (v4.1.11-v4.1.23)
- Удалены data/*.sqlite из репозитория
2026-01-16 11:36:00 +02:00

81 lines
2.1 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#!/bin/bash
# AKNAPROFF Tootmine Database Backup Script
# Создаёт бэкапы БД с timestamp
set -e # Exit on error
# Цвета для вывода
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# Настройки
DATE=$(date +%Y%m%d_%H%M%S)
BACKUP_DIR="./backups"
DEV_DB_PATH=".wrangler/state/v3/d1/webapp-production.sqlite"
PROD_DB_PATH="data/db/webapp-production.sqlite"
# Создать папку для бэкапов
mkdir -p "$BACKUP_DIR"
echo "🗄️ AKNAPROFF Database Backup"
echo "=============================="
echo ""
# Проверить и бэкапить Development БД
if [ -f "$DEV_DB_PATH" ]; then
DEV_BACKUP="$BACKUP_DIR/webapp-dev-$DATE.sqlite"
cp "$DEV_DB_PATH" "$DEV_BACKUP"
# Размер файла
SIZE=$(du -h "$DEV_BACKUP" | cut -f1)
echo -e "${GREEN}✅ Development DB backed up${NC}"
echo " File: $DEV_BACKUP"
echo " Size: $SIZE"
echo ""
else
echo -e "${YELLOW}⚠️ Development DB not found${NC}"
echo " Path: $DEV_DB_PATH"
echo ""
fi
# Проверить и бэкапить Production БД
if [ -f "$PROD_DB_PATH" ]; then
PROD_BACKUP="$BACKUP_DIR/webapp-prod-$DATE.sqlite"
cp "$PROD_DB_PATH" "$PROD_BACKUP"
# Размер файла
SIZE=$(du -h "$PROD_BACKUP" | cut -f1)
echo -e "${GREEN}✅ Production DB backed up${NC}"
echo " File: $PROD_BACKUP"
echo " Size: $SIZE"
echo ""
else
echo -e "${YELLOW}⚠️ Production DB not found${NC}"
echo " Path: $PROD_DB_PATH"
echo ""
fi
# Показать все бэкапы
echo "📦 All backups:"
echo "---------------"
ls -lh "$BACKUP_DIR"/*.sqlite 2>/dev/null | awk '{print " " $9 " (" $5 ")"}'
echo ""
echo "=============================="
# Подсчитать количество бэкапов
BACKUP_COUNT=$(ls -1 "$BACKUP_DIR"/*.sqlite 2>/dev/null | wc -l)
if [ "$BACKUP_COUNT" -gt 10 ]; then
echo -e "${YELLOW}💡 Tip: You have $BACKUP_COUNT backups${NC}"
echo " Consider cleaning old backups:"
echo " rm $BACKUP_DIR/webapp-*-2024*.sqlite"
echo ""
fi
echo -e "${GREEN}✅ Backup completed!${NC}"