[英]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.