AWS Sync to S3 [Errno 20]不是目录

时间:2014-06-30 16:08:17

标签: bash amazon-web-services amazon-s3 aws-cli

从Samba服务器同步到S3,我们在过去两周内在同一个文件中遇到了同样的错误:

  

上传失败:../ data / backup / SERVER / Full / Client   文件/ A / CLIENT / NCI.MPG到s3:// SERVER / Full / Client   文件/ A / CLIENT / NCI.MPG

当我拖尾我们的日志文件时会出现此错误。

当我使用CLI运行该文件的sync命令时,我抛出以下错误:

  

[Errno 20]不是目录:'/ data / backup / SERVER / Full / Client   文件/ A / DOMAIN.com / NCI.MPG /'

还有另一个每天运行的备份使用名称中似乎只处理文件的空格的目录/文件,但是我们的大周同步错误。下面是我们每天在bash脚本中调用的sync命令:

/usr/local/bin/aws s3 sync "/data/backup/$DIR" "s3://INTERNAL-SERVER/Full" --delete 2>&1 | tee -a $FILE ;;

$DIR以前定义为包含/data/backup/SERVER/Full/内所有文件夹的数组。我们逐步浏览$DIR内的每个文件夹,直到出现错误,上传三小时后,一切正常。

我有想法只使用--recursive开关代替目录数组,但是对我来说没有任何意义,为什么命令在一周的六天后正常运行,然后在我们运行的那天完全上传,似乎在一个特定文件上随机出错,连续两周。

1 个答案:

答案 0 :(得分:0)

我们能够通过巧妙地使用古老版本的CLI中列出的呼叫解决这个问题,一个AWS支持成员不知道存在而另一个说不再有效:

--content-type "UTF-8"

这实际上解决了我们的一些问题,但是我们不得不打电话给我们的" Full"手动备份cron作业,因为某些原因cron作业在自动调用时出错。