s4cmd.py - Super Amazon S3 command line tool
S4cmd is a command-line utility for accessing Amazon S3, inspired
by s3cmd. It is intended as an alternative to s3cmd for enhanced performance
and for large files, and with a number of additional features and fixes. In
general, it strives to be compatible with the most common usage scenarios
for s3cmd. It does not offer exact drop-in compatibility, due to a number of
corner cases where different behavior seems preferable, or for bugfixes.
Super S3 command line tool. Version 2.1.0
- -h, --help
- show this help message and exit
- --version
- print out version of s4cmd
- -p S3CFG,
--config=S3CFG
- path to s3cfg config file
- --access-key=ACCESS_KEY
- use access_key for connection to S3
- --secret-key=SECRET_KEY
- use security key for connection to S3
- -f, --force
- force overwrite files when download or upload
- -r,
--recursive
- recursively checking subdirectories
- -s,
--sync-check
- check file md5 before download or upload
- -n, --dry-run
- trial run without actual download or upload
- -t RETRY,
--retry=RETRY
- number of retries before giving up
- --retry-delay=RETRY_DELAY
- seconds to sleep between retries
- -c NUM_THREADS,
--num-threads=NUM_THREADS
- number of concurrent threads
- -d,
--show-directory
- show directory instead of its content
- --ignore-empty-source
- ignore empty source from s3
- --endpoint-url=ENDPOINT_URL
- configure boto3 to use a different s3 endpoint
- --use-ssl
- (obsolete) use SSL connection to S3
- --verbose
- verbose output
- --debug
- debug output
- --validate
- (obsolete) validate lookup operation
- -D,
--delete-removed
- delete remote files that do not exist in source after sync
- --multipart-split-size=MULTIPART_SPLIT_SIZE
- size in bytes to split multipart transfers
- --max-singlepart-download-size=MAX_SINGLEPART_DOWNLOAD_SIZE
- files with size (in bytes) greater than this will be downloaded in
multipart transfers
- --max-singlepart-upload-size=MAX_SINGLEPART_UPLOAD_SIZE
- files with size (in bytes) greater than this will be uploaded in multipart
transfers
- --max-singlepart-copy-size=MAX_SINGLEPART_COPY_SIZE
- files with size (in bytes) greater than this will be copied in multipart
transfers
- --batch-delete-size=BATCH_DELETE_SIZE
- Number of files (<1000) to be combined in batch delete.
- --last-modified-before=LAST_MODIFIED_BEFORE
- Condition on files where their last modified dates are before given
parameter.
- --last-modified-after=LAST_MODIFIED_AFTER
- Condition on files where their last modified dates are after given
parameter.
- --API-ACL=ACL
- The canned ACL to apply to the object.
- --API-CacheControl=CACHECONTROL
- Specifies caching behavior along the request/reply chain.
- --API-ContentDisposition=CONTENTDISPOSITION
- Specifies presentational information for the object.
- --API-ContentEncoding=CONTENTENCODING
- Specifies what content encodings have been applied to the object and thus
what decoding mechanisms must be applied to obtain the media-type
referenced by the Content-Type header field.
- --API-ContentLanguage=CONTENTLANGUAGE
- The language the content is in.
- --API-ContentMD5=CONTENTMD5
- The base64-encoded 128-bit MD5 digest of the part data.
- --API-ContentType=CONTENTTYPE
- A standard MIME type describing the format of the object data.
- --API-CopySourceIfMatch=COPYSOURCEIFMATCH
- Copies the object if its entity tag (ETag) matches the specified tag.
- --API-CopySourceIfModifiedSince=COPYSOURCEIFMODIFIEDSINCE
- Copies the object if it has been modified since the specified time.
- --API-CopySourceIfNoneMatch=COPYSOURCEIFNONEMATCH
- Copies the object if its entity tag (ETag) is different than the specified
ETag.
- --API-CopySourceIfUnmodifiedSince=COPYSOURCEIFUNMODIFIEDSINCE
- Copies the object if it hasn't been modified since the specified
time.
- --API-CopySourceRange=COPYSOURCERANGE
- The range of bytes to copy from the source object. The range value must
use the form bytes=first-last, where the first and last are the zero-based
byte offsets to copy. For example, bytes=0-9 indicates that you want to
copy the first ten bytes of the source. You can copy a range only if the
source object is greater than 5 GB.
- --API-CopySourceSSECustomerAlgorithm=COPYSOURCESSECUSTOMERALGORITHM
- Specifies the algorithm to use when decrypting the source object (e.g.,
AES256).
- --API-CopySourceSSECustomerKeyMD5=COPYSOURCESSECUSTOMERKEYMD5
- Specifies the 128-bit MD5 digest of the encryption key according to RFC
1321. Amazon S3 uses this header for a message integrity check to ensure
the encryption key was transmitted without error. Please note that this
parameter is automatically populated if it is not provided. Including this
parameter is not required
- --API-CopySourceSSECustomerKey=COPYSOURCESSECUSTOMERKEY
- Specifies the customer-provided encryption key for Amazon S3 to use to
decrypt the source object. The encryption key provided in this header must
be one that was used when the source object was created.
- --API-ETag=ETAG
- Entity tag returned when the part was uploaded.
- --API-Expires=EXPIRES
- The date and time at which the object is no longer cacheable.
- --API-GrantFullControl=GRANTFULLCONTROL
- Gives the grantee READ, READ_ACP, and WRITE_ACP permissions on the
object.
- --API-GrantReadACP=GRANTREADACP
- Allows grantee to read the object ACL.
- --API-GrantRead=GRANTREAD
- Allows grantee to read the object data and its metadata.
- --API-GrantWriteACP=GRANTWRITEACP
- Allows grantee to write the ACL for the applicable object.
- --API-IfMatch=IFMATCH
- Return the object only if its entity tag (ETag) is the same as the one
specified, otherwise return a 412 (precondition failed).
- --API-IfModifiedSince=IFMODIFIEDSINCE
- Return the object only if it has been modified since the specified time,
otherwise return a 304 (not modified).
- --API-IfNoneMatch=IFNONEMATCH
- Return the object only if its entity tag (ETag) is different from the one
specified, otherwise return a 304 (not modified).
- --API-IfUnmodifiedSince=IFUNMODIFIEDSINCE
- Return the object only if it has not been modified since the specified
time, otherwise return a 412 (precondition failed).
- --API-Metadata=METADATA
- A map (in json string) of metadata to store with the object in S3
- --API-MetadataDirective=METADATADIRECTIVE
- Specifies whether the metadata is copied from the source object or
replaced with metadata provided in the request.
- --API-MFA=MFA
- The concatenation of the authentication device's serial number, a space,
and the value that is displayed on your authentication device.
- --API-RequestPayer=REQUESTPAYER
- Confirms that the requester knows that she or he will be charged for the
request. Bucket owners need not specify this parameter in their requests.
Documentation on downloading objects from requester pays buckets can be
found at http://docs.aws.amazon.co
m/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.ht ml
- --API-ServerSideEncryption=SERVERSIDEENCRYPTION
- The Server-side encryption algorithm used when storing this object in S3
(e.g., AES256, aws:kms).
- --API-SSECustomerAlgorithm=SSECUSTOMERALGORITHM
- Specifies the algorithm to use to when encrypting the object (e.g.,
AES256).
- --API-SSECustomerKeyMD5=SSECUSTOMERKEYMD5
- Specifies the 128-bit MD5 digest of the encryption key according to RFC
1321. Amazon S3 uses this header for a message integrity check to ensure
the encryption key was transmitted without error. Please note that this
parameter is automatically populated if it is not provided. Including this
parameter is not required
- --API-SSECustomerKey=SSECUSTOMERKEY
- Specifies the customer-provided encryption key for Amazon S3 to use in
encrypting data. This value is used to store the object and then it is
discarded; Amazon does not store the encryption key. The key must be
appropriate for use with the algorithm specified in the
x-amz-server-side-encryption-customer-algorithm header.
- --API-SSEKMSKeyId=SSEKMSKEYID
- Specifies the AWS KMS key ID to use for object encryption. All GET and PUT
requests for an object protected by AWS KMS will fail if not made via SSL
or using SigV4. Documentation on configuring any of the officially
supported AWS SDKs and CLI can be found at
http://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAW
SSDK.html#specify-signature-version
- --API-StorageClass=STORAGECLASS
- The type of storage to use for the object. Defaults to 'STANDARD'.
- --API-VersionId=VERSIONID
- VersionId used to reference a specific version of the object.
- --API-WebsiteRedirectLocation=WEBSITEREDIRECTLOCATION
- If the bucket is configured as a website, redirects requests for this
object to another object in the same bucket or to an external URL. Amazon
S3 stores the value of this header in the object metadata.
Please report bugs with s4cmd itself to the authors' GitHub issue
tracker: https://github.com/bloomreach/s4cmd/issues
2012-2016 BloomReach, Inc.