Was Sie wirklich suchen, ist das Speichern einer lokalen Datei. Sie können Pipes verwenden, um die Daten von tar
durch zu senden gzip
, s3
ohne etwas auf der Festplatte zu speichern.
tar c /var/test | gzip | aws s3 cp - "s3://tests/test1.tar.gz"
Aufschlüsselung (wo stdin
und stdout
beziehen sich auf die Standard-Ein- / Ausgabeströme über die Pipeline):
tar c /var/test
erstellt eintar
Archiv/var/test
und gibt es anstdout
...- ..., die durch Lesen
gzip
ausstdin
und das gzipped Datei (.tar.gz
) ausgegebenstdout
... - ... die durch Lesen
aws s3 cp - "s3://tests/test1.tar.gz"
vonstdin
und an S3. Das-
teilt der AWS-CLI mit, von dem kopiert werden sollstdin
.
Dadurch wird der gzip
Vorgang immer noch lokal ausgeführt, es muss jedoch keine temporäre Datei erstellt werden, da der gesamte Stream direkt über das Netzwerk gesendet wird.