O que você realmente procura não é salvar um arquivo local. Você pode usar canais para enviar os dados de tar a gzip to s3 sem salvar nada no disco.
tar c /var/test | gzip | aws s3 cp - "s3://tests/test1.tar.gz"
Quebrar isso (onde stdin e stdout referem-se aos fluxos de entrada / saída padrão por meio do pipeline ):
-
tar c /var/testcria um arquivotarde/var/teste gera o resultado emstdout... - ... que é lido por
gzipdestdine o arquivo gzipped (.tar.gz) é enviado parastdout... - ... que é lido por
aws s3 cp - "s3://tests/test1.tar.gz"destdine enviado para o S3. O-informa ao AWS CLI para copiar destdin.
Isso ainda executa a operação gzip localmente, mas não exige a criação de um arquivo temporário, já que o fluxo inteiro é enviado diretamente pela rede.