Use Cyberduck CLI with fswatch

With Cyberduck CLI there are many new ways automate tasks that require to transfer files to a remote server with duck.. We have added a section to our wiki to show use cases.

One such is making use of fswatch, a file change monitor that receives notifications when the contents of the specified files or directories are modified. Used together with Cyberduck CLI, you can keep a remote directory in sync with local changes.

fswatch -0 ~/Sites/mywebsite/ | xargs -0 -I {} -t sh -c 'f="{}"; duck --upload ftps:///sandbox`basename "${f}"` "${f}" -existing overwrite'

The command will make fswatch listen for changes in directory ~/Sites/mywebsite/ and upload any changed file into the remote folder ftps:///sandbox using a FTP-TLS connection overwriting any existing files.

Multiple Connections for File Transfers

Version 4.7 of Cyberduck brings support to use multiple connections for downloads and uploads. When there are many small files this can double or triple transfer speeds because of the parallel execution. Enable Multiple Connections per default in Preferences → Transfers or when per bookmark. The maximum number of connections to open is limited with the control in the lower right of the Transfers window. Please refer to our documentation.

Preferences Multiple connections for transfers

This feature is supported for all connection protocols for downloads & uploads. Additionally large single file uploads to OpenStack Swift (2GB threshold) and Amazon S3 (100MB threshold) will use multiple connections and upload the file in segments.

We have also worked on improving throughput for downloads with segmenting single large files into parts. This will split a download into multiple segments for concurrent transfer and assemble the file when complete. This feature is currently experimental and can be enabled manually. Refer to the documentation.

To use multiple connections for file transfers with Cyberduck CLI, use the --parallel option.