docs: merge comparison tables into single unified table

Merged the separate Synchronization and Caching comparison tables into
a single "Global Command Comparison" table. This provides a clear,
side-by-side view of all remote storage commands (filer.remote.sync,
remote.copy.local, remote.cache, remote.uncache) and their features.
Chris Lu
2026-01-15 01:11:57 -08:00
parent b044aa689d
commit fe9499e9c4
+12 -28
@@ -116,36 +116,20 @@ The `remote.copy.local` command synchronizes local-only files to remote storage.
Here's a comprehensive comparison of remote storage synchronization and caching commands:
### Synchronization Commands (Local ↔ Remote)
### Global Command Comparison
| Feature | `weed filer.remote.sync` | `remote.copy.local` |
|---------|-------------------------|---------------------|
| **Type** | Long-running daemon | One-time shell command |
| **Purpose** | Continuous sync of all changes | Upload local-only files to remote |
| **Data Flow** | Bidirectional (Local ↔ Remote) | Local → Remote |
| **Trigger** | Automatic (on file changes) | Manual or cron-based |
| **Synchronization** | Real-time, continuous | On-demand, batch |
| **File Selection** | All changes in directory | Local-only files (no remote entry) |
| **Filters** | No (syncs everything) | Yes (`-include`, `-exclude`, size filters) |
| **Dry Run** | No | Yes (`-dryRun`) |
| **Force Update** | Automatic | Optional (`-forceUpdate`) |
| **Setup** | Separate process | Run in weed shell |
| **Resource Usage** | Continuous (low overhead) | Temporary (during execution) |
| **Best For** | Production with active writes | Maintenance, recovery, scheduled backups |
| Feature | `weed filer.remote.sync` | `remote.copy.local` | `remote.cache` | `remote.uncache` |
|---------|-------------------------|---------------------|----------------|------------------|
| **Type** | Long-running daemon | Shell command (batch) | Shell command (batch) | Shell command (batch) |
| **Purpose** | Continuous sync (Local → Remote) | Backup local-only files (Local → Remote) | Download to local cache (Remote → Local) | Free up local storage (Local → Delete) |
| **Data Flow** | Bidirectional (metadata) | Local → Remote | Remote → Local | Local → (Deleted) |
| **Trigger** | Automatic (file events) | Manual / Cron | Manual / Cron | Manual / Cron |
| **File Scope** | All changes | Local-only files | Files on remote | Cached files |
| **Filters** | None (syncs all) | Yes (`include`/`exclude`) | Yes (`include`/`exclude`) | Yes (`include`/`exclude`) |
| **Force** | Automatic | `-forceUpdate` | N/A | N/A |
| **Dry Run** | No | `-dryRun` | `-dryRun` | `-dryRun` |
| **Use Case** | Active writes, consistency | Backups, recovery | Warm-up, pre-fetching | Save disk space |
### Caching Commands (Remote ↔ Local Cache)
| Feature | `remote.cache` | `remote.uncache` |
|---------|---------------|------------------|
| **Type** | One-time shell command | One-time shell command |
| **Purpose** | Download files from remote to local cache | Remove local cache, keep metadata |
| **Data Flow** | Remote → Local | Local → (delete) |
| **When to Use** | Warm up cache, pre-fetch data | Free up local storage |
| **File Selection** | Files in remote storage | Cached files |
| **Skips Files** | Already cached files | Files not in remote |
| **Filters** | `-include`, `-exclude`, `-maxSize`, `-maxAge` | `-include`, `-exclude`, `-minSize`, `-minAge` |
| **Dry Run** | `-dryRun` | `-dryRun` |
| **Use Case Example** | Cache frequently accessed files | Uncache old/large files to save space |
### Typical Workflow