AWS Snowball
User Guide

This guide is for the Snowball (50TB or 80TB of storage space). If you are looking for documentation for the Snowball Edge, see the AWS Snowball Edge Developer Guide.

Commands for the Snowball Client

Following, you can find information on Snowball client commands that help you manage your data transfer into Amazon Simple Storage Service (Amazon S3). You can have multiple instances of the Snowball client in different terminal windows connected to a single Snowball.

During data transfer, you'll notice that there is at least one folder at the root level of the Snowball. This folder and any others at this level have the same names as the Amazon S3 buckets that you chose when this job was created. You can't write data to the root level of the Snowball. All data must be written into one of the bucket folders or into their subfolders.

You can work with files or folders with spaces in their names, like my photo.jpg or My Documents. However, make sure that you handle the spaces properly in the client commands. For more information, see the following examples:

  • Linux and Mac version of the clientsnowball ls s3://mybucket/My\ Folder/my\ photo.jpg

  • Windows version of the clientsnowball ls "s3://mybucket/My Documents/my photo.jpg"


Before transferring data into Amazon S3 using Snowball, you should make sure that the files and folders that you're going to transfer are named according to the Object Key Naming Guidelines.

For details on options for the Snowball copy command (snowball cp), see Options for the snowball cp Command.

If you're having trouble using the Snowball client, see Troubleshooting for a Standard Snowball.

Snowball Client Command Description Usage and Example
snowball cp

Copies files and folders between the Snowball and your data source. For details on options for the Snowball copy command (snowball cp), see Options for the snowball cp Command. In addition to the command options, transferring data with the Snowball client supports schemas to define what type of data is being transferred. For more information on schemas, see Schemas for Snowball Client.

snowball cp [OPTION...] SRC... s3://DEST

Import examples

snowball cp --recursive /Logs/April s3://MyBucket/Logs
snowball cp -r /Logs/April s3://MyBucket/Logs

Export examples

snowball cp --recursive s3://MyBucket/Logs/ /Logs/April
snowball cp -r s3://MyBucket/Logs/ /Logs/April
snowball ls Lists the Snowball contents in the specified path. You can't use this command to list the contents on your workstation, your data source, or other network locations outside of the Snowball.

snowball ls [OPTION...] s3://DEST

snowball ls s3://MyBucket/Logs/April
snowball mkdir Creates a new subfolder on the Snowball. You can't create a new folder at the root level. The root level is reserved for bucket folders.

snowball mkdir [OPTION...] s3://DEST

snowball mkdir s3://MyBucket/Logs/April/ExpenseReports
snowball retry

Retries the snowball cp command for all the files that didn't copy the last time that command that was executed. The list of files that weren't copied is saved in a plaintext log in your workstation's temporary directory. The exact path to that log is printed to the terminal if the snowball cp command fails to copy a file.

snowball retry
snowball rm Deletes files and folders on the Snowball.

snowball rm [OPTION...] s3://DEST

snowball rm --recursive s3://MyBucket/Logs/April
snowball rm -r s3://MyBucket/Logs/April
snowball start Authenticates your access to the Snowball with the Snowball's IP address and your credentials. After you have run a snowball start command, you can execute any number of snowball cp commands.

snowball start -i IP Address -m Path/to/manifest/file -u 29 character unlock code

snowball start -i -m /user/tmp/manifest -u 01234-abcde-01234-ABCDE-01234
snowball status Returns the status of the Snowball.

snowball status

snowball stop

Stops communication from this instance of the Snowball client to the Snowball. You can use this command to make sure that all other commands are stopped between the data source server and the Snowball. If you have multiple instances of the client connected to a single Snowball, you’ll need to use this command for each instance when you’re ready to stop transferring data. You can run this command to stop one instance of the client while still copying data with another instance.

snowball stop

snowball test

Tests your data transfer before it begins. For more information, see Testing Your Data Transfer with the Snowball Client.

snowball test

snowball validate

Unless you specify a path, this command validates all the metadata and transfer statuses for the objects on the Snowball. If you specify a path, then this command validates the content pointed to by that path and its subdirectories. This command lists files that are currently in the process of being transferred as incomplete for their transfer status.


For import jobs, we highly recommend that you run this command after you finish transferring content to the Snowball and before you return the Snowball to ensure that your content can be imported into AWS without issue.

snowball validate

snowball version

Displays the Snowball client version on the terminal.

snowball version

Using the Verbose Option

Whenever you execute a Snowball client command, you can use the verbose option for additional information. This additional information is printed to the terminal while the command is running. Verbose mode allows you to better understand what each command is doing, as well as help you troubleshoot issues you may encounter with the Snowball client. The verbose option is off by default, though you can turn it on by specifying the option while running a command as in the following examples:

snowball -v cp /Logs/April/logs1.csv s3://MyBucket/Logs/April/logs1.csv
snowball --verbose ls s3://MyBucket/Logs/April/

On this page: