AWS CLI同步错误 - 找不到文件

jer*_*iuh 2 linux shell amazon-s3 amazon-web-services aws-cli

我确定这一定是一个明显的错误,但我很难过.下面的shell脚本生成一个数据库转储并成功gzip但是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命令,同样的错误.我从命令行的shell脚本外部尝试了aws命令,同样的错误.例如

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

AWS CLI由我的用户在/ home/bar/awscli-bundle中的此共享服务器上本地安装并配置,并且能够在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
Run Code Online (Sandbox Code Playgroud)

jar*_*mod 10

aws s3 sync用于同步文件夹.它期望源和目标都是文件夹(本地文件夹或S3 URI).

  • 要复制文件,请使用“aws cp” (2认同)