我想设置一个 ftp 服务器,用户可以在其中上传文件,并将每个文件放在 s3 存储中,然后从 ftp 服务器中删除。(服务器在 ec2 ubuntu 上运行)
以下是我已经尝试过但没有成功的方法。
使用 s3fs 安装 s3 bucket。我遵循了这些指示,但最新版本的 s3fs 中有一个错误,导致它无法正常工作。该错误已在开发分支上修复,但我不想在生产中使用不稳定版本。
使用 vsftpd 并通过 cron 使用 s3cmd sync 定期同步文件。这种方法的问题在于,s3cmd 可以在文件上传过程中开始运行,并开始同步未完成的文件。此外,如果同步失败,s3cmd 不会给出任何反馈,因此我无法知道在同步命令运行完成后是否可以删除文件。
使用 pure-ftpd 的上传脚本功能(允许在文件上传完成后运行脚本),但我注意到如果文件上传在中间失败,脚本仍然会运行,而且我无法知道上传是否成功。
我已经做了几天了,但还是很迷茫。欢迎提出任何建议。
答案1
答案2
我已经使用以下链接中的说明成功完成了此操作 https://github.com/s3fs-fuse/s3fs-fuse.git
还为 ftp 创建了另一个用户,因为使用 ubuntu 用户进行此目的并不好
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-users.html
但是我仍然需要弄清楚如何在将文件上传到 S3 后从 EC2 服务器中删除它,因为两者都已挂载,并且一旦我从 EC2 中删除文件/文件夹,它就会从 S3 中删除