我试图使用crontab将启动时的ec2上传文件发送到我的s3存储桶。我在 crontab -e
中使用了以下行@rebbot > s3log
@reboot aws s3 cp /path/localfile.csv s3://bucketname >> s3log 2>&1
第一行清除日志文件,第二行进行上传并将其记录在名为' s3log'的文件中。在此之后,s3log上显示的所有内容都是:
上传:./ data_xxxxxxx.csv到s3://bucket-name/data_xxxxxxx.csv
到目前为止一切正常,文件意味着移动是在ec2上
但是当我尝试从s3存储桶访问该文件时,它没有任何内容
该文件为空。任何想法为什么会发生这种情况?
答案 0 :(得分:0)
查看aws mb文档。他们真的只是为了制作一个桶,而不是上传。根据你所展示的内容,我希望更像是:
@rebbot > s3log
@reboot aws s3 mb s3://bucketname >> s3log 2>&1
@reboot aws cp /path/localfile.csv s3://bucketname >> s3log 2>&1
答案 1 :(得分:0)
我从来没有发现问题是什么,但我终于在我的python脚本中使用boto3来上传文件。这样crontab只需要在启动时运行脚本即可。