OmniSync
File Synchronization via SFTP, FTP and SMB
OmniSync is ELONIQ's integrated file synchronization. It synchronizes files between local directories and remote systems via SFTP, FTP or SMB — on a schedule or manually.
Overview
OmniSync synchronizes files between the local system and remote servers. It supports various protocols and sync modes for different scenarios.
Sync Modes
| Mode | Description | Use Case |
|---|---|---|
| Download | Download new/updated files from remote | Invoice intake, data import |
| Upload | Upload new/updated files to remote | Backup, data export |
| Bidirectional | Sync both directions (newer file wins) | Shared project folders |
| Mirror | Make local match remote exactly (remote is authoritative) | Archive mirroring |
Supported Protocols
- SFTP — SSH File Transfer Protocol (recommended, encrypted)
- FTP — File Transfer Protocol (unencrypted, for legacy systems only)
- SMB — Windows/Samba network shares
Features
- Multi-protocol — SFTP (SSH-based), FTP and SMB (Windows shares) as transfer protocols.
- 4 sync modes — Download, upload, bidirectional (newer file wins) and mirror (remote is authoritative).
- Flexible scheduling — Manual, interval-based (every N minutes) or via cron expression.
- Dry run — Test run without actual changes to preview synchronization.
- Orphan cleanup — Delete local files not present on remote (mirror mode).
- SSH key authentication — Passwordless authentication for SFTP via SSH key.
- Action log — Detailed logging of every file action (download, upload, delete, skip, error).
- Parallel jobs — Run multiple independent sync jobs simultaneously.
- Connection testing — Test connection to remote server before production use.
Usage
- Open component — Navigate to Components > OmniSync in AdminUI.
- Create new job — Click "Add Job" and enter name, protocol and sync mode.
- Configure connection — Enter host, port, username and password or SSH key.
- Set paths — Define local and remote directories.
- Test connection — Test the connection to the remote server.
- Set up scheduling — Choose manual, interval or cron expression.
- Test dry run — Enable dry run and execute the job once manually to review planned actions.
- Activate job — Disable dry run and activate the job.
Best Practices
- Dry run first — Test every new job in dry run mode before going to production.
- Prefer SFTP — Use SFTP instead of FTP for encrypted file transfers.
- Use orphan deletion carefully —
delete_orphansdeletes local files not on remote. Only use in mirror mode. - Adjust sync intervals — Large directories need longer intervals. Start with 60 minutes and adjust as needed.
- Test connection first — Use the test connection function before activating a job.
- Key-based authentication — Use SSH keys instead of passwords for SFTP where possible.
Examples
1. SFTP Download (Hourly)
Name: Invoice-Download Protocol: sftp Sync Mode: download Host: sftp.supplier.com:22 Remote Path: /outbox/invoices Local Path: C:\Import\Invoices Execution: interval (60 min)
2. SMB Upload (Daily at 02:00)
Name: Backup-Upload Protocol: smb Sync Mode: upload Host: nas.company.local Share: backup Remote Path: /eloniq Local Path: /data/export Execution: scheduled Cron: 0 2 * * *
3. Bidirectional (SFTP with Key Auth)
Name: Project-Data-Sync Protocol: sftp Sync Mode: bidirectional Host: dev.company.com:22 Username: sync_user Private Key: (insert SSH key) Remote Path: /shared/projects Local Path: /data/projects Execution: interval (30 min)
4. Mirror Mode (Exact Copy)
Name: Archive-Mirror Protocol: sftp Sync Mode: mirror Delete Orphans: true Execution: scheduled Cron: 0 3 * * 0 (Sundays at 03:00)