Sync with rclone

rclone gives you scriptable, two-way sync against tela's [[Sync your vault (WebDAV)]] tree (/dav/) — mirror a space to disk, back it up, or keep it reconciled across machines. See that page for the URL, auth, tree layout, and the identity/delete rules; this page is the rclone recipe.

[!TIP] The fastest path is Settings → Sync → Connect a vault: it mints a sync token and prints the exact rclone commands to paste, with the token and the required --ignore-size flag already filled in. This page is the manual reference.

Set up the remote

You need a Personal Access Token ([[API & personal access tokens]]) — write scope to push edits, read scope for a backup-only pull. Then rclone config → new remote → webdav:

Prompt Value
url https://telawiki.com/dav/
vendor other
user anything
pass your PAT (type it in; rclone obscures it)

Verify: rclone lsd tela: lists your spaces. (Needs rclone ≥ 1.66 for WebDAV modtime support.)

[!WARNING] Always pass --ignore-size on any command that writes to tela (copy/sync/bisync/mount). tela rewrites a file's frontmatter on save, so the stored bytes differ from what you uploaded — without --ignore-size, rclone's size check treats every upload as corrupt and rolls it back. rclone then uses modtime instead. Pure read-only pulls don't need it.

Everyday use

Always --dry-run first.

# Back up a space to disk (down; never deletes locally)
rclone copy tela:engineering ./backup

# Pull a space down (down; mirrors, deletes local extras)
rclone sync tela:engineering ./engineering --create-empty-src-dirs

# Push edits up (up; never deletes on tela)
rclone copy ./engineering tela:engineering --ignore-size

[!CAUTION] rclone sync makes the destination match the source and deletes extras on the destination. Keep tela: as the source when pulling down; never sync into tela: from a stale/empty local folder. For backups use copy (never deletes).

Two-way sync (bisync)

# First run only — establishes the baseline (tela wins pre-existing diffs)
rclone bisync tela:engineering ./engineering --resync --ignore-size

# Ongoing (cron/timer)
rclone bisync tela:engineering ./engineering --ignore-size \
  --max-delete 25 --check-access --resilient

--max-delete/--check-access are client-side brakes that abort if a side looks empty — they complement tela's server-side delete guard. Conflicts merge server-side: non-overlapping edits combine; same-line edits keep your copy visible and the other as a recoverable revision — nothing is lost.

Live mount

rclone mount tela: ~/tela --vfs-cache-mode full --dir-cache-time 10s --ignore-size

--vfs-cache-mode full is required for in-place editing (WebDAV can't do partial writes). WebDAV has no change notifications, so lower --dir-cache-time for fresher reads.

rclone specifics