Unraid Rsync.

An open-source Unraid plugin that turns backup scripts into scheduled jobs, with dry runs, execution history and notifications inside the server’s own interface.

Category
Open source · Infrastructure
Year
2026
Role
Plugin design & implementation
Stack
PHP · Shell · rsync · cron
Link
Source and installation
Unraid RsyncWorkflow schematicOne schedule per job.Independent jobsTransportDestination01Files02App data03Photo libraryrsyncSSH · rsync daemonor local pathsBackup storage01Dry-runInspect the planned changes02RunTransfer on its own schedule03HistoryReview the log for each runExample jobs · shared connections · per-run logs

Overview

Backups as an operating workflow

Rsync handles the file transfer. This plugin adds the work around it: defining jobs, choosing destinations, scheduling runs and inspecting the result. Published in the Unraid Community Applications catalogue, it brings those controls into the interface server owners already use.

The challenge

Make the next run inspectable

A collection of shell scripts leaves schedules, options and logs in separate places. A backup needs a visible source and destination, a way to preview changes, and a record of what happened. The plugin collects these into a per-job workflow.

The approach

Native controls around an existing tool

A PHP interface manages the jobs while shell scripts execute rsync and cron handles scheduling. Local paths, SSH destinations and rsync daemons are supported. Option whitelists and path checks constrain job configuration; run history and Unraid notifications expose the result.

Architecture

From scheduled job to recorded result.

  1. 01
    Configure
    Source · destination · options
  2. 02
    Preview
    Dry run before transferring
  3. 03
    Execute
    Local · SSH · rsync daemon
  4. 04
    Inspect
    History · logs · notifications

Each job has its own schedule. Jobs can also be started or stopped from the Unraid interface.

What it does.

  • Multiple jobs with individual schedules

    Separate sources and destinations get separate cron schedules. Backup configuration is visible in one interface rather than distributed across manually maintained scripts.

  • Dry runs and manual controls

    Preview a transfer before running it, start a job on demand or stop an active run. The controls support checking configuration before putting it on a schedule.

  • Local and remote destinations

    Jobs can transfer to local storage, to a remote host over SSH or to an rsync daemon. The same job interface covers all three transport choices.

  • History, notifications and open source

    Run history and native Unraid notifications make completed and interrupted runs visible. The MIT-licensed source and installation instructions are public on GitHub.

Want the next one to be yours?

Describe the system, who uses it and what it has to survive. You get a written view on scope, architecture and the first increment worth shipping.

Start a conversation