Ich habe eine Post erhalten Shell-Skript als solche:tar.gz bis S3 Eimer
#!/bin/bash
TGZNAME=imprv`date +%s`.tar.gz
TGZPATH=/var/git_out/imprv/
TGZFULL=$TGZPATH$TGZNAME
S3BUCKET=my-s3-bucket
S3PATH=s3://$S3BUCKET/imprv/
git --work-tree=/var/git_out/imprv/imprv --git-dir=/path/to/repositories/imprv/imprv.git checkout -f
echo " - creating tar "$TGZNAME >> /tmp/post-receive.log
tar -cjf $TGZFULL -C /var/git_out/imprv/imprv .
echo " - tar.gz created "$TGZFULL >> /tmp/post-receive.log
echo " - Uploading "$TGZFULL" to bucket "$S3PATH$TGZNAME >> /tmp/post-receive.log
s3cmd put $TGZFULL $S3PATH$TGZNAME --mime-type="application/gzip" >> /tmp/post-receive.log
echo " - operation complete" >> /tmp/post-receive.log
Nichts endet in meinem Eimer, aber die TAR-Datei erstellt wird, und wenn ich die manuell eingeben s3cmd Put-Befehl funktioniert gut.
Ich tailing die Protokolldatei, und alles scheint gut zu gehen, es sitzt und wartet auf die komprimierte Datei erstellt werden, bevor Sie mit der nächsten echo-Anweisung, so dass es nicht versucht, die Datei vor dem Teer zu setzen .gz-Datei wird erstellt. Danke im Voraus.
als you @ D.Dimitrioglo. Ihre Lösung brachte mich dazu, darüber nachzudenken, wie ich die AWS-CLI für den Git-Benutzer nicht konfiguriert hatte. Sobald das erledigt war, funktionierte es gut. –