README.md

Syncerman

CLI for bidirectional file synchronization using rclone

AI-Assisted OpenCode Primary

Version License Contributors Last Commit

Go rclone Coverage


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 rclone remotes 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 с ошибкой
Разработчики