Skip to main content

rclone Backup: Local Server → NAS (WebDAV)

The following example performs a simple backup from a local machine (192.168.10.5) to a NAS at 192.168.10.10 using a WebDAV share named backup.

rclone Configuration

Run:

rclone config

Create a new remote:

  • Name: nasbackup
  • Storage: webdav
  • URL: http://192.168.10.10/backup
  • Vendor: other
  • User: <nas-username>
  • Pass: <nas-password>

Reference configuration block:

[nasbackup]
type = webdav
url = http://192.168.10.10/backup
vendor = other
user = <nas-username>
pass = <encrypted-password>

Backup Command

rclone sync /opt/nginx-proxy-manager/data nasbackup:/npm-data --progress --transfers=4 --checkers=4

Certificates:

rclone sync /opt/nginx-proxy-manager/letsencrypt nasbackup:/npm-letsencrypt --progress

Explanation of Parameters

sync Makes the destination identical to the source. It copies new and changed files and removes files in the destination that no longer exist in the source. This ensures a true mirror, but it can delete data if the target is incorrect.

--progress Displays live transfer information such as current file, speed and ETA. It does not influence the transfer itself.

--transfers=4 Defines how many files are uploaded simultaneously. Higher values can speed up transfers on a fast network but may overload the NAS. Four is a sensible local default.

--checkers=4 Specifies how many files rclone checks in parallel to detect changes. More checkers accelerate scanning large directories.

--quiet Suppresses most output. Useful in cron jobs to avoid unnecessary logs.

Simple Cron Job

0 3 * * * rclone sync /opt/nginx-proxy-manager/data nasbackup:/npm-data --quiet

This performs a daily backup at 03:00.

If you want, I can extend this with optional safety flags, versioned backups or encryption.