答案 0 :(得分:2)
不能代表s3cmd
,但绝对可以。
您可以使用https://github.com/minio/mc。 Minio Client aka mc
是用Golang编写的,在Apache License Version 2下发布。
它为用户实现mc pipe
命令,以便从管道/ os.stdin上的传入数据直接将数据流式传输到Amazon S3。 mc pipe
也可以并行管道到多个目的地。内部mc管道输出输出并且并行地进行分段上传。
$ mc pipe
NAME:
mc pipe - Write contents of stdin to files. Pipe is the opposite of cat command.
$ mc cat
NAME:
mc cat - Display contents of a file.
#!/bin/bash
mc cat https://s3.amazonaws.com/mybucket/1.txt | mc pipe https://s3-us-west-2.amazonaws.com/mywestbucket/1.txt
答案 1 :(得分:0)
要回答有关s3cmd
的问题:不,它不能(当前)read from STDIN
。
does support multi-part-upload和streams to STDIN
,但显然不是相反。
来自s3cmd
的管道输出的工作方式如下:
s3cmd get s3://my-bucket/some_key - | gpg -d | tar -g /dev/null -C / -xvj
请注意,流式gzip
文件可能存在问题:https://github.com/s3tools/s3cmd/issues/811