# 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:

```bash
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:

```bash
[nasbackup]
type = webdav
url = http://192.168.10.10/backup
vendor = other
user = <nas-username>
pass = <encrypted-password>
```

### Backup Command

```bash
rclone sync /opt/nginx-proxy-manager/data nasbackup:/npm-data --progress --transfers=4 --checkers=4
```

Certificates:

```bash
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

```bash
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.