Back up with FreeFileSync

FreeFileSync is a free, open-source folder sync tool with a proper GUI for Windows, macOS, and Linux. It connects to CapyArk over SFTP and can run unattended on a schedule — the easiest fully-automatic setup if you're not a terminal person.

Prerequisites

Step 1 — Add CapyArk as an SFTP target

  1. Open FreeFileSync. In the right panel (the destination side), click the cloud button next to the folder field.
  2. Choose SFTP and fill in:
FieldValue
Serverstorage-baas_xxxxx (your storage hostname)
Port22
User nameyour CapyArk username
AuthenticationPassword — or Key file if you use an SSH key
Directory/backup
  1. Click the folder browse button to verify the connection — you should see your remote directory.

Step 2 — Configure the sync

  1. In the left panel, pick the local folder(s) you want to back up. The green + adds more folder pairs to the same job.
  2. Click the gear icon and set the sync variant to Mirror — the destination becomes an exact copy of the source.
  3. Click Compare, review the planned changes, then Synchronize to run the first backup.

Mirror deletes remote files that were deleted locally. That’s what keeps the copy exact — and it’s safe on CapyArk, because automatic ZFS snapshots preserve previous states. If you’d rather never delete anything remotely, choose the Update variant instead.

Step 3 — Save as a batch job

File → Save as batch job… and enable:

This produces a .ffs_batch file — double-clicking it runs the entire backup.

Step 4 — Schedule it

Windows — Task Scheduler:

  1. Open Task Scheduler → Create Basic Task.
  2. Trigger: Daily, pick a time the machine is usually on.
  3. Action: Start a program → browse to your .ffs_batch file.
  4. In the task’s settings, enable Run task as soon as possible after a scheduled start is missed — laptops aren’t always on at 2 AM.

macOS / Linux — cron:

crontab -e
# Daily at 20:00
0 20 * * * /usr/bin/freefilesync /path/to/backup-job.ffs_batch

Verifying it works

After a couple of scheduled runs:

  1. FreeFileSync writes a log per run — check Tools → Open log folder for red entries.
  2. In the CapyArk portal, the Storage tab should show usage matching your data size.
  3. Do a test restore: browse the SFTP connection from FreeFileSync’s left panel and copy one file back.

Troubleshooting

Connection to the server fails Confirm the VPN is up: the portal’s Connect tab must show your device and the storage node both online. FreeFileSync can only reach the hostname while Tailscale is running.

Scheduled task runs but nothing syncs Task Scheduler runs the job as your user — if the trigger fires before login, Tailscale may not be connected yet. Set the task to run only when user is logged on, or delay it a few minutes after startup.

Sync is slow for many small files SFTP has per-file overhead. For datasets with hundreds of thousands of small files, restic (which packs small files into larger blobs) is significantly faster.