Cyberduck console operations with cloud storage

Jul 10, 2020 · 5 mins read
Cyberduck console operations with cloud storage
Share this

Users are familiar with the graphic version of Cyberduck. And recently the console version was released. So, here we will talk about its possibilities in general and about its posibillities of operations with cloud storage.

General information

Console version of Cyberduck is supported by all modern OS – MacOS, Windows, Linux. The program can be used as FTP and SFTP-client, for operations with different cloud services.

Documentation for console Cyberduck version is published on the official site. Unfortunately, the majority of important functions are not covered as wide as it could be. So, we will make it wider by ourselves.



It is made by package manager Homebrew:

$ brew install duck


Here is installation procedure for Ubuntu 14.04. Users of other distributions can find information in the official documentation.

In order to install console version of Cyberduck we need to add special repository:

$ echo ‘deb nightly main’>/etc/apt/sources.list $ echo ‘deb stable main’>/etc/apt/sources.list

Then we add the clue:

$ sudo apt-key adv –keyserver –recv-keys FE7097963FEFBE72

And launch the commands:

$ sudo apt-get update $ sudo apt-get install duck

Common operations with cloud storage

All commands for operating with cloud storage has the following form:

$ duck - swift:// -p

After accepting the command program will ask to write the name of user whose account is being used. You can switch off dialogue mode by the option –q.

Getting a file list in a container You can get a file list by the option –l or –list:

$ duck -l swift://[email protected]/ -p

Listing directory images… 1.jpg 2.jpg 3.png

File download

Downloading file from the repository is made by

$ duck -d swift://[email protected]:// -p

Opening file for editing on the local machine

With the help of console Cyberduck you can open files for editing on the local machine. After editing the new version of file will be loaded into the repository. Use option edit:

$ duck –edit swift:// -p

File will be opened by the application which is used for this format in this OS. Loading of the changed version will start automatically.

This function is convenient for those who place static websites in some special repository. For example, if you want to edit text quickly, you just need to launch this command.

Loading object into the repository

General view of the command:

$ duck –upload swift://[email protected] -p

Draw your attention to the fact that you should give the full object path in the repository of this object. For example, if you want to save file myimage.png from container images, its path will be the following: /images/myimage.png.

Big (more than 2GB) objects are loaded partly.

Objects versions and backups

Console Cyberduck version is a convenient tool for backing up and archiving of data. Let’s look at these functions a bit deeper.

Imagine that we have directory on the local machine with data which should be regularly copied to the cloud storage. We wrote the script and added the Cron task which sends backup every day at the particular time.

Script: #!/bin/bash SWIFT_USERNAME=usernaem SWIFT PASSWORD=password to enter the repository BACKUP_PATH=backup path LOCAL_PATH=folder on the local machine path $ duck –upload swift://[email protected]$SWIFT_AUTHURL/$BACKUP_PATH/ $LOCAL_PATH –existing rename –password $SWIFT_PASSWORD -q

The clue –existing tells what to do with already existing files in the repository.

Option “rename” renames already existing backup adding time and date to the name.

You can do differential backup by the Cyberduck as well. The following option is for it: $ duck –upload swift://[email protected] < object path in the local machine > --existing compare -p

After execution of this command the program will compare the loaded backup with already available by the size, date of change and checksum. If something differs, the previous version will be replaced by the current.

In case of using the operation “skip” only new (the ones that appeared in the local machine folder after the last upload) files. Already existing files won’t be upload even if the was changed.

Finally, option “overwrite” just deletes the previous backup and uploads the new one without any comparing.

Synchronization of the local files with repository files

File synchronization is a process which result is two directories (one is placed on the local machine, the other - in the repository) containing the same list of most

recent files. If you edit, add, or delete some files on the local machine, the same thing will happen with files in the repository.

Synchronization is launched by the command

$ duck –synchronize swift://[email protected]/

Thanks to the synchronization function you are able to have the most recent backups. Here is the example of simple script:

#bin/bash SWIFT_USERNAME=username SWIFT PASSWORD= password to enter the repository BACKUP_PATH=backup path LOCAL_PATH=backing up folder path


duck –synchronize swift://[email protected]_AUTHURL/$BACKUP_PATH $LOCAL_PATH –password $SWIFT_PASSWORD -q

It is enough to add the appropriate task into the cron, and data will be automatically synchronized with the specified period.

This will be useful for the owners of static web sites, too. In order to update the website they need to change files on the local machine and launch the synchronization.

Copying files

In order to copy file from the one container to another use the following command:

$ duck –сopy swift:// [email protected]/ <[email protected]>/ -p

Option -v

Option -v (or -verbose) is used to output information about all HTTP-request and responses, which are done while operations with repository, to the console. It helps to understand how third-party applications interact with the repository.


Console version of Cyberduck is a handy tool for operations with cloud storage, which has wide possibilities.

The existing of such software may please Windows users as there were no console applications for operations with cloud storages based on OpenStack Swift and they had to use FTP-clients, which are not always convenient.


Best VPN
Join Newsletter
Get the latest post right in your inbox.