2016-12-11 5 views
0

Ich bin sicher, das muss ein offensichtlicher Fehler sein, aber ich bin ratlos. Die Shell-Skript erzeugt unter einer Datenbanksicherung und gzips es erfolgreich, aber aws cli gibt Fehler:AWS CLI Sync-Fehler - Datei nicht gefunden

warning: Skipping file /home/bar/dbsnapshots/foo-12-11-2016.sql.gz/. File does not exist.

ich den Schrägstrich in diesem Fehler zu sehen, aber nicht verstehen, warum es angezeigt wird, oder wenn in der Tat, aws sucht aus irgendeinem Grund nach einem Verzeichnis namens foo-12-11-2016.sql.gz?

ls zeigt die Datei wie erwartet.

vi /home/bar/dbsnapshots/foo-12-11-2016.sql.gz öffnet die gz-Datei erfolgreich.

Ich habe versucht, die AWS-Befehl mit und ohne Anführungszeichen um den Pfad, der gleiche Fehler. Ich habe den Befehl aws selbst außerhalb des Shell-Skripts von der Befehlszeile aus versucht, der gleiche Fehler.

zB

/home/bar/bin/aws s3 sync "/home/bar/dbsnapshots/foo-12-11-2016.sql.gz" s3://foo

Die AWS CLI lokal von meinem Benutzer auf diesem gemeinsamen Server in/home/bar/awscli-Bundle installiert und konfiguriert ist und war in der Lage einen Eimer auf S3 zu erstellen. Über die AWS-Browser-GUI überprüft.

#!/bin/bash 

TODAY=`/bin/date +"%-m-%-d-%Y"` 
BU_DIR=/home/bar/dbsnapshots 
LOCALFILE=$BU_DIR/foo-${TODAY}.sql 
EXCLUDED_TABLES=(
membersBackupV2 
transactionReferer 
transpages 
) 

IGNORED_TABLES_STRING='' 
for TABLE in "${EXCLUDED_TABLES[@]}" 
do : 
    IGNORED_TABLES_STRING+=" --ignore-table=bar_membership.${TABLE}" 
done 

mysqldump --defaults-extra-file="${BU_DIR}/.my.cnf" --all-databases ${IGNORED_TABLES_STRING} > ${LOCALFILE} 

/bin/gzip ${LOCALFILE} 

/home/bar/bin/aws s3 sync ${LOCALFILE}.gz s3://foo 

Antwort

4

aws s3 sync wird zum Synchronisieren von Ordnern verwendet. Es wird erwartet, dass Quelle und Zielordner (lokale Ordner oder S3-URIs) sind.

+0

Ugh. Vielen Dank. Ich wusste, dass es ein offensichtlicher Fehler wäre ... – jerrygarciuh