clawdbot-workspace/backup_to_github.sh

148 lines
2.8 KiB
Bash
Executable File

#!/bin/bash
# GitHub Backup Script - Backs up Remix Sniper code to GitHub
# This backs up code only (not data/configs) for version control
set -e
REPO_DIR="$HOME/projects/remix-sniper"
GITHUB_USERNAME="${1:-jakeshore}"
REPO_NAME="${2:-remix-sniper}"
if [[ ! -d "$REPO_DIR" ]]; then
echo "ERROR: Remix Sniper directory not found: $REPO_DIR"
exit 1
fi
cd "$REPO_DIR"
echo "=========================================="
echo "GITHUB BACKUP FOR REMIX SNIPER"
echo "=========================================="
echo "Repository: https://github.com/$GITHUB_USERNAME/$REPO_NAME"
echo ""
# Initialize git if not already
if [[ ! -d ".git" ]]; then
echo "[1/4] Initializing git repository..."
git init
git branch -M main
else
echo "[1/4] Git repository already initialized"
fi
# Create .gitignore if not exists
echo "[2/4] Setting up .gitignore..."
cat > .gitignore <<'EOF'
# Python
__pycache__/
*.py[cod]
*$py.class
*.so
.Python
*.egg-info/
dist/
build/
.venv/
venv/
.venv311/
# Environment variables
.env
.env.local
.env.*.local
# Database dumps
*.sql
*.db
*.sqlite
# Logs
*.log
bot.log
bot_error.log
daily_scan.log
stats_update.log
weekly_report.log
# IDE
.vscode/
.idea/
*.swp
*.swo
*~
# macOS
.DS_Store
.AppleDouble
.LSOverride
._*
# Backup files
backup-*
backup-*
*.bak
# Tracking data (JSON files - should be backed up separately)
.tracking/
EOF
echo " ✓ Created .gitignore"
# Add all files
echo "[3/4] Adding files to git..."
git add .
# Check if there are changes
if git diff --staged --quiet; then
echo " ✓ No changes to commit"
echo ""
echo "Repository is up to date."
exit 0
fi
# Commit
echo ""
echo "[4/4] Committing changes..."
COMMIT_MESSAGE="Backup on $(date +%Y-%m-%d at %H:%M)"
git commit -m "$COMMIT_MESSAGE"
echo " ✓ Committed changes"
# Check if remote exists
if git remote | grep -q "^origin$"; then
echo ""
echo "Remote 'origin' already exists"
echo " URL: $(git remote get-url origin)"
else
echo ""
echo "Setting up remote repository..."
echo ""
echo "To complete GitHub setup:"
echo " 1. Create a new repository at: https://github.com/new"
echo " 2. Name it: $REPO_NAME"
echo " 3. Don't initialize with README, .gitignore, or license"
echo " 4. Run: git remote add origin https://github.com/$GITHUB_USERNAME/$REPO_NAME.git"
echo " 5. Run: git push -u origin main"
echo ""
exit 0
fi
# Push to GitHub
echo ""
echo "Pushing to GitHub..."
git push -u origin main
echo ""
echo "=========================================="
echo "BACKUP COMPLETE"
echo "=========================================="
echo ""
echo "Repository: https://github.com/$GITHUB_USERNAME/$REPO_NAME"
echo ""
echo "To push future changes:"
echo " cd ~/projects/remix-sniper"
echo " git add ."
echo " git commit -m 'Your message'"
echo " git push"
echo ""