--- description: Identify filesystem parts to backup and suggest inclusion patterns tags: [backup, filesystem, strategy, rclone, project, gitignored] --- You are helping the user identify which parts of their filesystem should be backed up and create appropriate inclusion patterns. ## Process 1. **Analyze filesystem structure** - Home directory size: `du -sh ~/*` or `du -h --max-depth=1 ~ | sort -h` - System directories to consider - External drives/mounts 2. **Categorize data by importance** **Critical (must backup):** - Documents: `~/Documents` - Development work: `~/repos` - Configuration files: `~/.config`, `~/.ssh`, `~/.gnupg` - Scripts: `~/scripts`, `~/.local/bin` - AI documentation: `~/ai-docs` **Important (should backup):** - Pictures/Photos - Videos (personal) - Music (if not streaming) - Downloads (selective) - Email (if local) **Optional (consider backing up):** - Application data: `~/.local/share` - Browser data (bookmarks, passwords) - Game saves **Exclude (don't backup):** - Caches: `~/.cache` - Temporary files: `/tmp`, `~/.tmp` - Virtual machines/disk images - Node modules: `node_modules/` - Python venvs: `venv/`, `.venv/` - Build artifacts: `target/`, `build/`, `dist/` - Large media files (if cloud-synced elsewhere) 3. **Identify special considerations** - Check for large directories: `du -h --max-depth=2 ~ | sort -h | tail -20` - Look for media libraries - Identify development projects with dependencies - Find version-controlled repos (can skip .git if remote exists) 4. **Create inclusion/exclusion patterns** **For rclone:** ``` # Include patterns + /Documents/** + /repos/** + /.config/** + /.ssh/** + /.gnupg/** + /scripts/** + /.local/bin/** + /ai-docs/** + /Pictures/** # Exclude patterns - /.cache/** - /.local/share/Trash/** - /**/node_modules/** - /**/.venv/** - /**/venv/** - /**/__pycache__/** - /**/.git/** - /.thumbnails/** ``` **For rsync:** ```bash --include='/Documents/***' --include='/repos/***' --exclude='**/.cache/' --exclude='**/node_modules/' --exclude='**/.venv/' ``` 5. **Calculate backup size** - Estimate total backup size based on included directories - Consider compression potential - Plan for growth 6. **Suggest backup frequency** - Critical data: Daily or real-time sync - Important data: Weekly - Optional data: Monthly - System configs: After changes 7. **Create backup configuration file** - Offer to create `~/scripts/backup-config.txt` with patterns - Create `~/scripts/backup-estimate.sh` to calculate size ## Output Provide a report showing: - Categorized list of directories to backup - Size estimates for each category - Recommended inclusion/exclusion patterns (rclone and rsync format) - Total estimated backup size - Suggested backup frequency for each category - Configuration file content