diff --git a/Mount-Remote-Storage.md b/Mount-Remote-Storage.md index 3eae75f..19ed6a5 100644 --- a/Mount-Remote-Storage.md +++ b/Mount-Remote-Storage.md @@ -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