Ubuntu 管道输入到tar,同时合并目录,同时管道输入到另一个没有临时文件的程序

Ubuntu 管道输入到tar,同时合并目录,同时管道输入到另一个没有临时文件的程序,ubuntu,sh,tar,Ubuntu,Sh,Tar,在将文件夹发送到aws s3时,我使用以下命令对其进行tar: tar czf - /path/to/folder | aws s3 cp s3://bucket.file.tar.gz 我想将mysqldump的输出添加到文件夹中,但不将文件保存在文件夹结构中,即使是临时保存 理想情况下,出于一般安全考虑和节省磁盘空间,我也不想将tar的输出临时保存到其他地方。您可以更改添加到tar文件的文件路径,如下所示: tar -czf - --transform=s,Downloads,var/

在将文件夹发送到aws s3时,我使用以下命令对其进行tar:

  tar czf - /path/to/folder | aws s3 cp s3://bucket.file.tar.gz
我想将mysqldump的输出添加到文件夹中,但不将文件保存在文件夹结构中,即使是临时保存


理想情况下,出于一般安全考虑和节省磁盘空间,我也不想将tar的输出临时保存到其他地方。

您可以更改添加到tar文件的文件路径,如下所示:

tar -czf - --transform=s,Downloads,var/lib, Downloads/myfile.txt > out.gz

tar -tzf out.tgz
var/lib/myfile.txt

这可能会有帮助:我们的目标是将mysqldump放在s3 bucket tar文件中,但放在/path/to/folder/mysqldump下,而不实际将文件放在本地文件夹中吗?@user2199860是的,请参阅下面的答案,这正好可以回答您的问题吗?我不确定这是否符合要求,因为他在问题中写道:我也不想将tar的输出临时保存到您不想保存的地方。您只需通过管道连接到S3,而不是out.gz。这只是为了说明目的。很好,这并不是100%实现了我的要求,但它使数据库转储不在文档根目录中。下面是我刚刚运行的:mysqldump--set gtid purged=OFF mysitedb>/tmp/mysitedb_20200530.sql;tar czf---transform=s,tmp,var/www/mysite.com/htdocs,/tmp/mysitedb.sql/var/www/mysite.com/htdocs/|/usr/local/bin/aws s3 cp--存储类标准\u IA-s3://bucket/mysite.com.20200530.tar.gz