SYNOPSIS

s3get [options]

s3get [options] [ bucket/item ...]

 Options:
   --access-key    AWS Access Key ID
   --secret-key    AWS Secret Access Key
 Environment:
   AWS_ACCESS_KEY_ID
   AWS_ACCESS_KEY_SECRET

OPTIONS

--help

Print a brief help message and exits.

--man

Prints the manual page and exits.

--verbose

Output what is being done as it is done.

--access-key and --secret-key

Specify the \*(L"\s-1AWS\s0 Access Key Identifiers\*(R" for the \s-1AWS\s0 account. --access-key is the \*(L"Access Key \s-1ID\s0\*(R", and --secret-key is the \*(L"Secret Access Key\*(R". These are effectively the \*(L"username\*(R" and \*(L"password\*(R" to the \s-1AWS\s0 account, and should be kept confidential. The access keys \s-1MUST\s0 be specified, either via these command line parameters, or via the \s-1AWS_ACCESS_KEY_ID\s0 and \s-1AWS_ACCESS_KEY_SECRET\s0 environment variables. Specifying them on the command line overrides the environment variables.

--secure

Uses \s-1SSL/TLS\s0 \s-1HTTPS\s0 to communicate with the \s-1AWS\s0 service, instead of \s-1HTTP\s0.

ENVIRONMENT VARIABLES

\s-1AWS_ACCESS_KEY_ID\s0 and \s-1AWS_ACCESS_KEY_SECRET\s0

Specify the \*(L"\s-1AWS\s0 Access Key Identifiers\*(R" for the \s-1AWS\s0 account. \s-1AWS_ACCESS_KEY_ID\s0 contains the \*(L"Access Key \s-1ID\s0\*(R", and \s-1AWS_ACCESS_KEY_SECRET\s0 contains the \*(L"Secret Access Key\*(R". These are effectively the \*(L"username\*(R" and \*(L"password\*(R" to the \s-1AWS\s0 service, and should be kept confidential. The access keys \s-1MUST\s0 be specified, either via these environment variables, or via the --access-key and --secret-key command line parameters. If the command line parameters are set, they override these environment variables.

CONFIGURATION FILE

The configuration options will be read from the file \*(C`~/.s3-tools\*(C' if it exists. The format is the same as the command line options with one option per line. For example, the file could contain:

--access-key <AWS access key> --secret-key <AWS secret key> --secure

This example configuration file would specify the \s-1AWS\s0 access keys and that a secure connection using \s-1HTTPS\s0 should be used for all communications.

DESCRIPTION

Retrieves S3 items, and outputs them to stdout.

BUGS

Report bugs to Mark Atwood [email protected].

Occasionally the S3 service will randomly fail for no externally apparent reason. When that happens, this tool should retry, with a delay and a backoff.

Access to the S3 service can be authenticated with a X.509 certificate, instead of via the \*(L"\s-1AWS\s0 Access Key Identifiers\*(R". This tool should support that.

It might be useful to be able to specify the \*(L"\s-1AWS\s0 Access Key Identifiers\*(R" in the user's \*(C`~/.netrc\*(C' file. This tool should support that.

Errors and warnings are very \*(L"Perl-ish\*(R", and can be confusing.

Trying to access an item that does not exist or is not accessable by the user generates less than helpful error messages.

Trying to retrieve a bucket instead of an item is silently skipped.

TODO

option to write to files instead of stdout option to write to paths instead of stdout option to write to a tar file stream, for multiple items option to write extended file attributes based on S3 & HTTP metadata option to have a progress bar

AUTHOR

Written by Mark Atwood [email protected].

Many thanks to Wotan \s-1LLC\s0 <http://wotanllc.com>, for supporting the development of these S3 tools.

Many thanks to the Amazon \s-1AWS\s0 engineers for developing S3.

RELATED TO s3get…

These tools use the Net::Amazon:S3 Perl module.

The Amazon Simple Storage Service (S3) is documented at <http://aws.amazon.com/s3>.