Auctiora Scripts
Utility scripts for managing the Auctiora auction monitoring system.
📦 Available Scripts
1. Production Data Sync
Sync production database and images from athena.lan to your local development environment.
Quick Start
Linux/Mac (Bash):
# Make executable (first time only)
chmod +x scripts/sync-production-data.sh
# Sync database only
./scripts/sync-production-data.sh --db-only
# Sync everything
./scripts/sync-production-data.sh --all
# Sync images only
./scripts/sync-production-data.sh --images-only
🔧 Prerequisites
Required
- SSH Client: OpenSSH or equivalent
- Windows: Built-in on Windows 10+, or install Git Bash
- Linux/Mac: Pre-installed
- SCP: Secure copy (usually comes with SSH)
- SSH Access: SSH key configured for
tour@athena.lan
Optional
- rsync: For efficient incremental image sync
- sqlite3: For showing database statistics
- Windows: Download from sqlite.org
- Linux:
sudo apt install sqlite3 - Mac: Pre-installed
📊 What Gets Synced
Database (cache.db)
- Size: ~8.9 GB (as of Dec 2024)
- Contains:
- Auctions metadata
- Lots (kavels) with bid information
- Images metadata and URLs
- HTTP cache for scraper
- Local Path:
c:\mnt\okcomputer\cache.db
Images Directory
- Size: Varies (can be large)
- Contains:
- Downloaded lot images
- Organized by lot ID
- Local Path:
c:\mnt\okcomputer\images\
🚀 Usage Examples
📁 File Locations
Remote (Production)
athena.lan
├── Docker Volume: shared-auction-data
│ ├── /data/cache.db (SQLite database)
│ └── /data/images/ (Image files)
└── /tmp/ (Temporary staging area)
Local (Development)
c:\mnt\okcomputer\
├── cache.db (SQLite database)
├── cache.db.backup-* (Automatic backups)
└── images\ (Image files)
🔒 Safety Features
Automatic Backups
- Existing local database is automatically backed up before sync
- Backup format:
cache.db.backup-YYYYMMDD-HHMMSS - Keep recent backups manually or clean up old ones
Confirmation Prompts
- PowerShell script prompts for confirmation (unless
-Forceis used) - Shows configuration before executing
- Safe to cancel at any time
Error Handling
- Validates SSH connection before starting
- Cleans up temporary files on remote server
- Reports clear error messages
⚡ Performance Tips
Faster Image Sync with rsync
Install rsync for incremental image sync (only new/changed files):
Windows (WSL):
wsl --install
wsl -d Ubuntu
sudo apt install rsync
Windows (Chocolatey):
choco install rsync
Benefit: First sync downloads everything, subsequent syncs only transfer changed files.
Images can be synced separately when needed for image processing tests.
🐛 Troubleshooting
SSH Connection Issues
# Test SSH connection
ssh tour@athena.lan "echo 'Connection OK'"
# Check SSH key
ssh-add -l
Permission Denied
# Add SSH key (Linux/Mac)
chmod 600 ~/.ssh/id_rsa
ssh-add ~/.ssh/id_rsa
# Windows: Use PuTTY or OpenSSH for Windows
Database Locked Error
# Make sure no other process is using the database
Get-Process | Where-Object {$_.Path -like "*java*"} | Stop-Process
# Or restart the monitor
Slow Image Sync
- Use rsync instead of scp (see Performance Tips)
- Consider syncing only database for code development
- Images only needed for object detection testing
📝 Script Details
sync-production-data.sh (Bash)
- Platform: Linux, Mac, Git Bash on Windows
- Best for: Unix-like environments
- Features: Color output, progress bars, statistics
🔄 Automation
Linux/Mac Cron
# Edit crontab
crontab -e
# Add daily sync at 7 AM
0 7 * * * /path/to/auctiora/scripts/sync-production-data.sh --db-only
🆘 Support
Getting Help
# Bash
./scripts/sync-production-data.sh --help
Common Commands
# Check database size
ls c:\mnt\okcomputer\cache.db -h
# View database contents
sqlite3 c:\mnt\okcomputer\cache.db
.tables
.schema lots
SELECT COUNT(*) FROM lots;
.quit
# Check image count
(Get-ChildItem c:\mnt\okcomputer\images -Recurse -File).Count
📚 Related Documentation
Last Updated: December 2025 Maintainer: Auctiora Development Team