Amazon web services AWS S3 cp创建未定义的文件
使用aws cli cp命令递归复制文件时,存在一个错误,它会创建一些未定义的文件Amazon web services AWS S3 cp创建未定义的文件,amazon-web-services,amazon-s3,Amazon Web Services,Amazon S3,使用aws cli cp命令递归复制文件时,存在一个错误,它会创建一些未定义的文件 aws s3 cp --recursive $HOME/$MYHOST-$MYTIMESTAMP/$MYHOST-$MYTIMESTAMP-*.xml s3://mybucket/$MYHOST-$MYTIMESTAMP/ 程序工作正常,并上传到指定的bucket。但它也会在根文件夹的bucket之外创建一些未定义的文件。这种情况经常发生,我不得不删除那些讨厌的未定义文件。 我假设这是一个bug,然后尝试单
aws s3 cp --recursive $HOME/$MYHOST-$MYTIMESTAMP/$MYHOST-$MYTIMESTAMP-*.xml s3://mybucket/$MYHOST-$MYTIMESTAMP/
程序工作正常,并上传到指定的bucket。但它也会在根文件夹的bucket之外创建一些未定义的文件。这种情况经常发生,我不得不删除那些讨厌的未定义文件。
我假设这是一个bug,然后尝试单独上传文件,而不是使用通配符,结果与递归相同,它仍然会在根文件夹的bucket之外创建其他未定义的文件。只有在bash脚本中运行一堆相同的cp命令时才会发生这种情况。在这种情况下,问题间歇性地出现
aws s3 cp $HOME/$MYHOST-$MYTIMESTAMP/$MYHOST-$MYTIMESTAMP-hello.xml s3://mybucket/$MYHOST-$MYTIMESTAMP/
但是,当只对单个文件执行此操作时,它不会显示。
我的Cli版本-
aws cli/1.14.34 Python/2.7.14+Linux/4.4.104-39-default
botocore/1.8.38
非常感谢您在这方面提供的任何帮助。您已经配置了S3访问日志以将日志写入此存储桶。这些大概就是这个bucket的日志文件 为什么文件名以“undefined”开头还不清楚——当您为bucket设置日志记录以便日志文件前缀未被保存时,可能出现了一些问题——但是文件名看起来像S3创建的日志文件的名称
最佳做法是在每个区域设置一个单独的bucket来收集S3访问日志。$MYTIMESTAMP解析为什么?它会随着命令的变化而变化吗?它可能是空的,或者$MYHOST-$MYTIMESTAMP不能解析为有效的文件名?我已经自定义了将这些变量设置为time和host-所有这些都很好。这些文件也会上传到s3上的相关文件夹中。谢谢你的提问,为你的问题添加了屏幕截图。当你对《时代》杂志说,你能详细说明一下吗?它看起来像时间戳,至少在未定义的文件上,在不同的运行中有所变化。如果使用实际值呢?也就是说,如果运行
aws s3 cp--recursive/home/magnus/server1-2018-02-12T01:03:16-*.xml s3://mybucket/server1-2018-02-12T01:03:16/
是否有效?是的,它是我使用的时间戳的修改版本,如上图所示,以保持文件和文件夹的唯一性。命名有限制,不能使用冒号和其他几个字符。请注意,我正在上传uniq文件夹中的文件。不在根目录中(那些未定义的文件是aws的副产品)