1 неделю назад
История
README.md
Syncerman
CLI for bidirectional file synchronization using rclone
Syncerman orchestrates rclone bisync across multiple storage providers using declarative YAML configuration. Define jobs with priorities, run dry-runs for safety, and let Syncerman handle first-run errors automatically.
Features
- Automating bidirectional sync powered by
rclone bisync - Declarative YAML configuration — define sync jobs, priorities, and targets
- Dry-run mode — preview changes without applying them
- First-run auto-recovery — detects missing bisync state and re-runs with
--resync - Remote validation — verifies
rcloneremotes and connectivity before syncing - Multi-target jobs — sync one source to multiple destinations in declared order
Requirements
| Tool | Purpose |
|---|---|
| Go 1.25.5+ | Build |
| rclone | Sync engine |
Installing by go install
go install gitlab.com/kinnalru/syncerman@latest
Quick Start
# 1. Configure rclone remotes
rclone config
# 2. Create configuration
cp syncerman.yaml.example .syncerman.yml
# Edit .syncerman.yml — set your remotes and paths
# 3. run
syncerman check --verbose
syncerman sync --dry-run --verbose
# 4. use cron
0,30 * * * * /bin/sh -lc "cd /home/user/mirror && syncerman sync 2>&1 | tee ./lastrun.log"
Configuration
Syncerman uses a .syncerman.yml file in the current directory (or specify with -c).
Example:
jobs:
cloud_mirror:
name: "Cloud Mirroring"
priority: 10
tasks:
- from: "local:./documents"
to:
- path: "gdrive:backup/documents"
- path: "ydisk:backup/documents"
inter_cloud:
name: "Inter-cloud Sync"
priority: 20
tasks:
- from: "gdrive:backup/documents"
to:
- path: "ydisk:backup/documents"
For the full configuration reference, see guides/OVERALL.md.
CLI Commands
| Command | Description |
|---|---|
syncerman sync |
Sync all jobs |
syncerman sync <job_id> |
Sync a specific job |
syncerman check |
Validate config and verify remotes |
syncerman migrate |
Migrate legacy config to job-centric format |
syncerman version |
Show version |
Global flags: -c, --config, -d, --dry-run, -v, --verbose, -q, --quiet
Build
# Linux + Windows
make build
# Or manually
GOOS=linux GOARCH=amd64 go build -ldflags "-s -w" -o bin/syncerman-linux-amd64
Troubleshooting
For common errors and solutions, see guides/TROUBLESHOOTING.md.
License
This project is licensed under the MIT License.
For detailed technical documentation, development workflow, and design guidelines, see the guides/ directory.
Описание
Syncerman - CLI for bidirectional file synchronization using rclone [MIRROR]
Конвейеры
0
успешных
0
с ошибкой