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
rclonecommands to paste, with the token and the required--ignore-sizeflag 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-sizeon 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 syncmakes the destination match the source and deletes extras on the destination. Keeptela:as the source when pulling down; neversyncintotela:from a stale/empty local folder. For backups usecopy(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
- Renames over bisync show up as delete + re-upload (rclone emits no
MOVEforvendor=other); because the re-uploaded file keeps itsid:frontmatter, tela rebinds the same page rather than forking it. - Excludes: filter OS/editor junk client-side to save round-trips (
.DS_Store,._*,*.swp,*.tmp,Thumbs.db,.git/**,.obsidian/**) via--exclude-from.