ZephyrFTP Download
/docs/scripting

Drive it from cron, with no window at all.

Point it at a plain-text script and it runs headless, prints to stdout, and exits with a status code. Good for backups, CI, and anything you'd rather not click through.

nightly-backup.txt
# back up today's exports, mirroring deletions too
open my-backup-server
lcd /home/me/exports
cd /backups/exports
mirror /home/me/exports /backups/exports --delete
echo backup complete
exit
run it
# on a desktop
zephyrftp --script=nightly-backup.txt

# on a headless box or in CI
zephyrftp --script=nightly-backup.txt \
  -platform offscreen

# 0 = finished  1 = bad script  2 = command failed
echo $?

Command reference

CommandEffect
open <site>Connect using a site saved in Site Manager
cd / lcd <path>Change the remote or local directory
get / put <file>Download or upload, same filename on both sides
ls / llsList the remote or local directory
mkdir <path>Create a directory
rm <path>Delete a file or empty directory
mv <old> <new>Rename, within the current connection
mirror <local> <remote>One-way sync by size and modified time; add --delete to remove files the source no longer has
echo / exitPrint a line; end the script

Scripts never prompt. open only works against a site you've already connected to once through the window, so its host key is trusted, and that has a stored credential. Anything else fails immediately with a clear message rather than hanging on a password prompt nobody will ever see.

Need a private key or an untrusted host first? Getting Started covers the one-time interactive connection that unlocks a site for scripting.