S4CMD.PY(1)
π s4cmd.py β bestie edition π
okay so we're doing the s4cmd.py manual page, which lives in section 1 of the manual (you know, the "user commands" section, the one that's giving actual useful program) β¨. Buckle up, because there are like forty options here and every single one of them is coming with us. no cap. π«Ά
β¨ NAME β¨
s4cmd.py β the Super Amazon S3 command line tool π¦
πΈ SYNOPSIS πΈ
s4cmd.py [options]
π DESCRIPTION π
S4cmd is a command-line utility for accessing Amazon S3, and it was inspired by s3cmd β like, s3cmd walked so s4cmd could run, yk? πβοΈπ¨ It's meant as an alternative to s3cmd when you want enhanced performance and you're dealing with large files, plus it comes with a bunch of extra features and fixes. The vibe is: generally compatible with the most common usage scenarios for s3cmd.
β οΈ but bestie, listen β it does not offer exact drop-in compatibility. There are a number of corner cases where different behavior seems preferable, or where it's a bugfix, so don't just assume it'll behave identically everywhere. π
Super S3 command line tool. Version 2.1.0 π
π OPTIONS π
here we go, the whole menu, no skips, no summaries, we're eating the entire plate π
-h,--helpβ show this help message and exit π₯°--versionβ print out version ofs4cmd-p S3CFG,--config=S3CFGβ path tos3cfgconfig file--access-key=ACCESS_KEYβ useaccess_keyfor 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 (no commitment, just vibes π)-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β configureboto3to 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 theContent-Typeheader 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 formbytes=first-last, where thefirstandlastare the zero-based byte offsets to copy. For example,bytes=0-9indicates 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 granteeREAD,READ_ACP, andWRITE_ACPpermissions 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 athttp://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.htmlπΈ--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 thex-amz-server-side-encryption-customer-algorithmheader.--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 athttp://docs.aws.amazon.com/AmazonS3/latest/dev/UsingAWSSDK.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.
π REPORTING BUGS π
Found a bug in s4cmd itself? (not your typo era, we're talking real bugs π) please report it to the authors' GitHub issue tracker:
https://github.com/bloomreach/s4cmd/issues
they want to hear from you, fr fr π«Ά
π COPYRIGHT π
2012-2016 BloomReach, Inc.
and that's the whole page bestie π this was s4cmd.py, version 2.0.1, dated September 2019 β documented as S4CMD.PY(1). go forth and move your bytes around, you absolute icon ππ
π¦ where this page comes from
- debian bookworm: s4cmd 2.1.0+ds-2 Β· Apache-2.0
- ubuntu jammy: s4cmd 2.1.0+ds-2 Β· Apache-2.0
- ubuntu noble: s4cmd 2.1.0+ds-2 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms