繁体   English   中英

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

[英]AWS CLI sync error - file not found

我确定这一定是一个明显的错误,但我很难过。 下面的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

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

解决方案(答案) - 是的,我也遇到了同样的问题,即“文件不存在”警告。 所以aws s3 sync用于同步文件夹,不用于特定文件/文件。 它期望源和目标都是文件夹(本地文件夹或S3 URI)。 如果将文件放入文件夹,然后将文件夹同步到s3文件夹。 它工作正常。 谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM