Move

While it is possible to manually upload files and folders from the bunny.net dashboard, a dedicated command allows you to automatically move files to and from storage zones and your local machine quickly, consistently, and with little to no downtime.

The difference between the sync and move commands is that:

  • The sync command will sync files to the destination, and delete files in the destination that do not exist in the source.
  • The move command will move files to the destination, and leave existing files in the destination that do not exist in the source.

The --index flag will greatly affect your performance, but depends on your use case.

Usage

bunny-transfer move [options] <from> <to> [to...]

Examples

bunny-transfer move ./dist my-storage-zone
bunny-transfer move my-storage-zone /Users/user/Desktop/projects/project/dist
bunny-transfer move ./dist 472435 my-other-storage-zone

  • Name
    from, to
    Type
    string | number
    Description

    Location

    For the move command, the locations can be:

    • A storage zone name like my-storage-zone
    • A storage zone id like 643475
    • An absolute path on your machine like /Users/user/Desktop/projects/project/dist
    • A relative path on your machine like ./dist

    Locations are positional arguments, and you can specify as many locations as you want. At least two locations must be specified. The first location positional argument is the source from location, while every following location is a destination to location.

    All contents will be moved, and existing files in the to destination that do not exist in the from source will remain.

  • Name
    --index
    Type
    boolean
    Description

    Index

    Index the to destination by listing its files and skip moving files with the samesha256 hash that already exist.

    Common reasons to disable this option include:

    • Your destination has many files
    • You are only uploading a few small files

    Common reasons to enable this option include:

    • You have previously moved most of your files to the destination
    • You have many files, but only a few changed
    • You have slow bandwidth and are moving large files

    By default, this option is set to false.

  • Name
    --access-key, -k
    Type
    uuid
    Description

    Access Key

    To find your account API Access Key, please visit either:

    • The new Dashboard > Profile picture > Edit account details > API Key
    • The old Panel > Account > API

    All account API Access Keys are in uuid format, such as c24347cf-1bc0-4900-8d60-86b1c7701f53.

    Please use your account API Access Key, not the Password or ReadOnlyPassword of your storage zone.

    Please read the authentication guide to learn more about Access Key types.

  • Name
    --profile, -p
    Type
    string
    Description

    Profile

    Your profile is any easy-to-remember name that you gave to reference your API Access Key. By saving an API Access Key under a profile, you can use that profile to easily select, change, and remove your API Access Key.

    If you only have one profile, that one profile is your default profile and will be automatically selected for all of your commands. When possible, commands will automatically select profiles based on the storage zones, pull zones, dns zones, and linked hostnames in an account.

    If you have multiple profiles and a profile cannot be inferred, then specifying the profile will tell the command which profile it should use. A specified profile name will override all inference, unless the environment variable BUNNY_ACCESS_KEY or the command line flag --access-key is provided.

  • Name
    --shared-credentials-file, -c
    Type
    file-path
    Description

    Shared Credentials File

    All profiles are saved by default in ~/.bunny/credentials.

    The shared credentials file follows the TOML v1.0.0 format specification.

    Each profile consists of a:

    • profile
    • accessKey
    • email
    • id
    • name (optional)

    Shared Credentials File sample

    [personal]
    accessKey = "c24347cf-1bc0-4900-8d60-86b1c7701f53"
    email = "johndoe@example.com"
    id = "31141ed7-9a4c-48b3-9910-676f9c999d70"
    
    [business]
    accessKey = "85e2e568-dc73-47c2-8530-ce8f8f42fe6c"
    email = "johndoe@company.com"
    id = "5552c462-bde1-4a41-88ed-d8c1bc1c51bc"
    name = "John Doe"