我有一个有趣的案例。我需要将由Linux split
分割的tar文件直接上传到S3存储桶。我没有足够的磁盘空间和时间来创建一个大的.tar文件,下一个文件将被拆分,因此我尝试使用管道:
tar -cvf - example-file.log | split -b 10k -d - "tarpart-" | aws s3 cp - s3://mybucket/
不幸的是,我在S3中没有文件的任何部分,只有:
aws s3 ls s3://mybucket
2019-02-14 13:07:38 0 -
我不确定是否可以上传名称未定义的多个文件,但是也许有人遇到相同的问题?
答案 0 :(得分:0)
最后我找到了解决方法:
# tar -cvf - install.post.log | split -d -b 4k -a 4 - splitted_ --filter='aws s3 cp - s3://testb/$FILE'
install.post.log
# aws s3 ls s3://testb
2019-02-14 14:49:38 40960 -
2019-02-14 14:55:09 4096 splitted_0000
2019-02-14 14:55:10 4096 splitted_0001
2019-02-14 14:55:11 4096 splitted_0002
2019-02-14 14:55:11 4096 splitted_0003
2019-02-14 14:55:12 4096 splitted_0004
2019-02-14 14:55:13 4096 splitted_0005
2019-02-14 14:55:13 4096 splitted_0006
2019-02-14 14:55:14 4096 splitted_0007
2019-02-14 14:55:14 4096 splitted_0008
2019-02-14 14:55:15 4096 splitted_0009