Connect CLI Interface
Our powerful command-line interface (CLI) offers unparalleled control and flexibility, making it easy to manage and automate your data transfer processes. Designed to support SFTP, Google GCS, Amazon S3, and Azure Blob protocols, Connect CLI is the ultimate tool for seamless data management.
Key CLI Features
Section titled “Key CLI Features”- Protocol Support: Effortlessly handle data transfers using SFTP with password or keys, Google GCS, AWS S3, and Azure Blob protocols, ensuring compatibility with a wide range of storage solutions.
- Comprehensive Commands:
copy: Copy files between any combination of local, SFTP, S3, GCS, and Azure endpoints with support for multiple sources and destinations.move: Move files between endpoints (copy + delete source) for efficient file relocation.sync: Synchronize files rsync-style with options for deletions, size-only comparison, update mode, and dry-run.list: List files from any endpoint with multiple output formats (long, JSON, table, tree), sorting, and filtering by size/date/type.remove: Remove files from any endpoint with recursive and parallel delete support.genkey: Generate SSH key pairs (RSA, ECDSA, Ed25519) with optional passphrase protection.alias: Manage encrypted endpoint aliases for quick, secure access to frequently used connections.
- Pattern Matching: Target files with familiar globs (
*.zip,logs/*.csv) or RE2 regular expressions (regex:^report_\\d{8}\\.csv$) for precise selection. - Connection Management:
- Connection Testing: Verify connectivity to your remote locations with simple commands, ensuring reliable and secure transfers.
- Endpoint Aliases: Store credentials in encrypted aliases and reference them with
@aliassyntax. - SFTP Connection Pooling: Reuse SFTP connections with configurable pool size and idle timeout for improved performance.
- SSH Key Authentication: Support for SSH key-based authentication with separate keys for source and destination, optional key passphrases, and automatic known hosts management.
- Parallel Processing:
- Parallel Workers: Scale throughput with configurable parallel workers for copy, move, sync, list, and remove operations.
- Multi-Destination Support: Copy or sync to multiple destinations simultaneously using comma-separated destination URLs.
- Progress Monitoring:
- Interactive Progress Bars: Real-time visual progress indicators showing bytes transferred, transfer rate, ETA, and percentage complete.
- Compact Mode: Single-line progress display for cleaner output.
- Batch Mode: Line-by-line logging suitable for automation and log file capture.
- Advanced Transfer Options:
- Recursive Operations: Recursively process directories and subdirectories.
- Flatten Mode: Flatten directory structure at destination when used with recursive mode.
- Failover Support: Automatic failover to backup destination when primary fails, with sticky mode option.
- Archive Destination: Move source files to an archive location after successful primary copy.
- Filtering and Sorting:
- Size Filters: Filter files by minimum/maximum size (e.g.,
--min-size=100K,--max-size=1M). - Date Filters: Filter files by modification date (e.g.,
--newer-than=2024-01-01,--older-than=2024-12-31). - Sorting: Sort by name, size, or modification time with reverse order option.
- Size Filters: Filter files by minimum/maximum size (e.g.,
- Output Formats:
- JSON Output: Structured JSON output for scripting and integration.
- Table Format: Human-readable table view for quick overview.
- Tree View: Hierarchical directory tree visualization.
- Automation Ready:
- Batch Mode: Line-by-line logs that are easy to tail or capture in files.
- JSON Logging: Structured log output for parsing and automation.
- Exit Codes: Predictable exit codes for scripting (0 on success, non-zero on failure).
- Quiet Mode: Suppress output for exit-code-only operation.
- Built with Go: Written in Go for exceptional efficiency and native parallelism. The lightweight binary has a minimal memory footprint while leveraging Go’s powerful goroutines for concurrent operations—making it ideal for high-throughput transfers on resource-constrained systems.
Connect CLI is designed for both simplicity and power, providing a comprehensive toolset to meet all your data transfer needs. Whether you’re performing one-time transfers or automating complex workflows, our CLI delivers the performance and reliability you demand.