← All work
Software · Plugin · 2025

Unraid Rsync

The missing multi-job rsync backup scheduler for Unraid, with full per-job customization.

Role
Plugin design & engineering
Stack
PHP · Unraid webGui · cron
Link
github.com ↗
U
Overview

A real scheduler, not a single cron line

Unraid Rsync is a native webGui plugin for running multiple independent rsync jobs — over SSH to a remote host, or locally between two paths — each with its own schedule, flags and logging. It fills a gap left by the usual single-schedule rsync plugins.

The challenge

Powerful rsync without the footguns

rsync moves and can delete real data. The plugin had to expose enough power to be genuinely useful while making destructive mistakes hard: no free-form flag strings, path guardrails, and dry-runs encouraged before any job is trusted.

The approach

Whitelisted flags, safe execution, live feedback

Flags are a curated, whitelisted set built into an argv array with inline help on every option. Each enabled job contributes one line to a regenerated cron file, credentials live in a dedicated keychain, and per-run logs stream live with clear status badges and native notifications.

Architecture
Per-job scheduling with safe execution
  1. Jobs config
    Per-job cron + whitelisted flags
  2. Cron
    One regenerated file, next-run column
  3. Runner
    Safe argv · path guardrails
  4. Feedback
    Live logs · badges · notifications

SSH jobs reference reusable connections and a managed-key keychain; local jobs are confined under /mnt.

What it does
  • Multiple independent rsync jobs
  • SSH or local transport
  • Per-job cron scheduling
  • Whitelisted rsync flags with inline help
  • Connections + managed-key keychain
  • Live status badges & per-run log viewer
  • Native Unraid notifications
  • Clean install / uninstall

Want something like this built?

Start a project →