Я хотел бы настроить ftp-сервер, на который пользователи будут загружать файлы, и для каждого файла помещать его в хранилище s3 и удалять с ftp-сервера. (сервер работает на ec2 ubuntu)
Вот то, что я уже пробовал, но безуспешно.
Установите ведро s3 с помощью s3fs. Я следил за этими инструкции, но в последней версии s3fs есть ошибка, которая мешает ей работать. Ошибка исправлена в ветке разработки, но я не хочу использовать нестабильную версию в своей производственной среде.
Используйте vsftpd и используйте s3cmd sync через cron для периодической синхронизации файлов. Проблема с этим подходом заключается в том, что s3cmd может начать работу в середине загрузки файла и начать синхронизацию неполного файла. Кроме того, s3cmd не дает никаких отзывов в случае сбоя синхронизации, поэтому я не могу узнать, могу ли я удалить файлы после завершения выполнения команды синхронизации.
Используйте функцию сценария загрузки pure-ftpd (которая позволяет запускать сценарий после завершения загрузки файла), но я заметил, что если загрузка файла не удалась в середине, сценарий все равно запустится, и я не могу узнать, загрузка прошла успешно или нет.
Я занимаюсь этим уже несколько дней, и я здесь в растерянности. Любые предложения будут приветствоваться.
Я успешно сделал это, используя инструкцию по следующей ссылке https://github.com/s3fs-fuse/s3fs-fuse.git
Также создали другого пользователя для ftp, так как использование пользователя ubuntu для этой цели не подходит
http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/managing-users.html
Однако мне все еще нужно выяснить, как я могу удалить файл с сервера EC2 после его загрузки на S3, поскольку оба они смонтированы, и как только я удалю файл / папку из EC2, он удаляется с S3