Seafile client for a Cli server¶
Installation¶
You can follow this documentaion to install Seafile CLI client on various Linux distributions.
Basic Usage¶
Initialize & start the client
# choose a folder where to store the seafile client settings e.g ~/seafile-client
mkdir ~/seafile-client # create the settings folder
seaf-cli init -d ~/seafile-client # initialise seafile client with this folder
seaf-cli start
Download and sync a library from a server.
- retrieve the library id by browsing into a library on the server. The ID is part of the URL. The format looks like
f4962ce9-ba07-47b8-a83a-73dd96c2ebfd
. - then
seaf-cli download -l "the id of the library" -s "the url + port of server" -d "the folder where the library folder will be downloaded" -u "username on server" [-p "password"]
seaf-cli status # check status of ongoing downloads
# Name Status Progress
# Apps downloading 9984/10367, 9216.1KB/s
Note: if you don't supply the password parameter in the command, it will be asked later, which is more secure.
Example: seaf-cli download -l 0536c006-8a43-449e-8718-39f12111620d -s http://cloud.seafile.com -d /tmp -u freeplant@test.com
The above command will create a new folder with the same name as the library under the specified folder.
You can also sync a library with an existing folder on the local computer. The existing files in the local folder will be merged with the files in the library.
seaf-cli sync -l "the id of the library" -s "the url + port of server" -d "the folder which the library will be synced with" -u "username on server" [-p "password"]
After running the download
or sync
command, the local folder will be automatically synced with the library.
Detailed documentation¶
seaf-cli is the command line interface for seafile client.
Subcommands:
init Initialize config directory
start Start ccnet and seafile daemon
stop Stop ccnet and seafile daemon
list List local libraries
list-remote List remote libraries
status Show syncing status
download Download and sync a library from seafile server
download-by-name Download and sync a library defined by name from seafile server
sync Sync a library with an existing folder
desync De-sync a library with seafile server
create Create a library
config Configure seafile client
Running seaf-cli -h
will show the above help. For each subcommand, you can also use -h
option to get help, e.g. seaf-cli download -h
.
Detail¶
Seafile client stores all its configure information in a config dir. The default location is ~/.ccnet
. All the commands below accept an option -c <config-dir>
.
init¶
Initialize seafile client. This command initializes the config dir. It also creates sub-directories seafile-data
and seafile
under parent-dir
. seafile-data
is used to store internal data, while seafile
is used as the default location put downloaded libraries.
seaf-cli init [-c <config-dir>] -d <parent-dir>
A file named seafile.ini
will be created under ~/.ccnet
to record the location of seafile-data
directory.
If you want to run multiple instances of Seafile cli client in the same machine, you can specify different config-dir
and parent-dir
when initializing different client instances. Then the instances can run without interfering each others. When starting the instances, just specify ccnet config directories with the -c
option.
start¶
Start seafile client. This command starts seaf-daemon
, which is the file syncing engine for Seafile client.
seaf-cli start [-c <config-dir>]
stop¶
Stop seafile client.
seaf-cli stop [-c <config-dir>]
Download/Download-by-name¶
Download and sync a library from seafile server. It will create a new folder with the same name as the library under the parent folder. The local folder will be automatically synced with the library. The download-by-name
command works similarly, but can save you from finding the library ID. It only works when the library name is unique on the server.
seaf-cli download -l <library-id> -s <seahub-server-url> -d <parent-directory> -u <username> [-p <password>]
sync¶
Synchronize a library with an existing folder. The existing files in the local folder will be merged with the files in the library.
seaf-cli sync -l <library-id> -s <seahub-server-url> -d <existing-folder> -u <username> [-p <password>]
desync¶
Desynchronize a library from seafile server. After running this command, the local folder will no longer be synced with the server.
seaf-cli desync -d <existing-folder>
create¶
Create a new library on server
seaf-cli create [-h] -n library-name -t description [-e library-password] -s server -u username -p password
list¶
List information about synced libraries. The information includes library name, library ID and local folder path for the library.
seaf-cli list
list-remote¶
List information about accessible libraries on the server. The information includes library names and ID.
seaf-cli list-remote
status¶
List syncing status of libraries. This will return the name, syncing status and progress information about all local libraries.
seaf-cli status
The returned status and their meaning:
status | meaning |
---|---|
synchronized | Local folder is consistent with the remote library |
committing | Files in local folder are being indexed |
initializing | Getting sync information from server |
downloading file list | Downloading file list from server. Progress will be displayed. |
downloading files | Downloading files from server. Progress will be displayed. |
uploading | Uploading files to server. Progress will be displayed. |
error | Error message will be displayed in the progress column. |
Skip SSL certificate verify¶
If you're using self-signed certificate on the server, you should ask the client to skip verifying certificate.
seaf-cli config -k disable_verify_certificate -v true
Set Transfer Speed Limit¶
Set upload speed limit to 1MB/s :
seaf-cli config -k upload_limit -v 1000000
Set download speed limit to 1MB/s :
seaf-cli config -k download_limit -v 1000000
Two factor authentication¶
seaf-cli supports 'Two Factor Authentication'.
If you want to use the feature, you should add the argument --tfa <token>
to any seaf-cli
commands. <token>
is Google Authenticator's verification code.
For example:
seaf-cli download -l "4b11d9d4-e3b1-4394-be85-9d4a80f626fa" -s "https://demo.seafile.top" -d "testst" -u "abc@abc.com" -p "abc" --tfa 002755