forked from minzeyaphyo/burmddit
- Created /app/category/[slug]/page.tsx - category navigation now works - Built Burmddit MCP Server with 10 tools: * Site stats, article queries, content management * Deployment control, quality checks, pipeline triggers - Added MCP setup guide and config - Categories fully functional: ai-news, tutorials, tips-tricks, upcoming - Modo can now manage Burmddit autonomously via MCP
61 lines
1.8 KiB
Bash
Executable File
61 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
|
# Automatic backup to Google Drive
|
|
# Backs up Burmddit database and important files
|
|
|
|
BACKUP_DIR="/tmp/burmddit-backups"
|
|
DATE=$(date +%Y%m%d-%H%M%S)
|
|
KEEP_DAYS=7
|
|
|
|
mkdir -p "$BACKUP_DIR"
|
|
|
|
echo "📦 Starting Burmddit backup..."
|
|
|
|
# 1. Backup Database
|
|
if [ ! -z "$DATABASE_URL" ]; then
|
|
echo " → Database backup..."
|
|
pg_dump "$DATABASE_URL" > "$BACKUP_DIR/database-$DATE.sql"
|
|
gzip "$BACKUP_DIR/database-$DATE.sql"
|
|
echo " ✓ Database backed up"
|
|
else
|
|
echo " ⚠ DATABASE_URL not set, skipping database backup"
|
|
fi
|
|
|
|
# 2. Backup Configuration
|
|
echo " → Configuration backup..."
|
|
tar -czf "$BACKUP_DIR/config-$DATE.tar.gz" \
|
|
/home/ubuntu/.openclaw/workspace/burmddit/backend/config.py \
|
|
/home/ubuntu/.openclaw/workspace/burmddit/frontend/.env.local \
|
|
/home/ubuntu/.openclaw/workspace/.credentials \
|
|
2>/dev/null || true
|
|
echo " ✓ Configuration backed up"
|
|
|
|
# 3. Backup Code (weekly only)
|
|
if [ $(date +%u) -eq 1 ]; then # Monday
|
|
echo " → Weekly code backup..."
|
|
cd /home/ubuntu/.openclaw/workspace/burmddit
|
|
git archive --format=tar.gz --output="$BACKUP_DIR/code-$DATE.tar.gz" HEAD
|
|
echo " ✓ Code backed up"
|
|
fi
|
|
|
|
# 4. Upload to Google Drive (if configured)
|
|
if command -v rclone &> /dev/null; then
|
|
if rclone listremotes | grep -q "gdrive:"; then
|
|
echo " → Uploading to Google Drive..."
|
|
rclone copy "$BACKUP_DIR/" gdrive:Backups/Burmddit/
|
|
echo " ✓ Uploaded to Drive"
|
|
else
|
|
echo " ⚠ Google Drive not configured (run 'rclone config')"
|
|
fi
|
|
else
|
|
echo " ⚠ rclone not installed, skipping Drive upload"
|
|
fi
|
|
|
|
# 5. Clean up old local backups
|
|
echo " → Cleaning old backups..."
|
|
find "$BACKUP_DIR" -name "*.gz" -mtime +$KEEP_DAYS -delete
|
|
echo " ✓ Old backups cleaned"
|
|
|
|
echo "✅ Backup complete!"
|
|
echo " Location: $BACKUP_DIR"
|
|
echo " Files: $(ls -lh $BACKUP_DIR | wc -l) backups"
|