2016-12-11 42 views
0

これは明白なエラーでなければならないと確信していますが、私は困惑しています。シェルスクリプトは、以下のデータベース・ダンプを生成し、正常にgzipsが、AWS CLIがエラーを与える:AWS CLI同期エラー - ファイルが見つかりません

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

私は、このエラーで最後のスラッシュを参照してください、それが表示されている理由を理解していない場合や、実際には、AWS何らかの理由でfoo-12-11-2016.sql.gzという名前のディレクトリを探していますか?

lsは、期待どおりのファイルを表示します。

vi /home/bar/dbsnapshots/foo-12-11-2016.sql.gzは、gzファイルを正常に開きます。

私はawsコマンドをパスの周りに引用符をつけずに試してみました。同じエラーです。私はコマンドラインからシェルスクリプトの外側でawsコマンドを単独で試してみましたが、同じエラーです。

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

AWS CLI例えば

は、ローカル/ホーム/バー/ awscli-バンドル内のこの共有サーバー上の私のユーザーがインストールされ、構成されており、S3にバケットを作成することができました。 AWSブラウザGUIを介して確認。

#!/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 

答えて

4

aws s3 syncは、フォルダの同期に使用されます。ソースとターゲットの両方がフォルダ(ローカルフォルダまたはS3 URI)であることを期待しています。

+0

ありがとう。私はそれが明らかな誤りであることを知っていた... – jerrygarciuh

関連する問題