Назад | Перейти на главную страницу

Переместить файлы с ftp-сервера на s3

Я хотел бы настроить ftp-сервер, на который пользователи будут загружать файлы, и для каждого файла помещать его в хранилище s3 и удалять с ftp-сервера. (сервер работает на ec2 ubuntu)

Вот то, что я уже пробовал, но безуспешно.

  1. Установите ведро s3 с помощью s3fs. Я следил за этими инструкции, но в последней версии s3fs есть ошибка, которая мешает ей работать. Ошибка исправлена ​​в ветке разработки, но я не хочу использовать нестабильную версию в своей производственной среде.

  2. Используйте vsftpd и используйте s3cmd sync через cron для периодической синхронизации файлов. Проблема с этим подходом заключается в том, что s3cmd может начать работу в середине загрузки файла и начать синхронизацию неполного файла. Кроме того, s3cmd не дает никаких отзывов в случае сбоя синхронизации, поэтому я не могу узнать, могу ли я удалить файлы после завершения выполнения команды синхронизации.

  3. Используйте функцию сценария загрузки pure-ftpd (которая позволяет запускать сценарий после завершения загрузки файла), но я заметил, что если загрузка файла не удалась в середине, сценарий все равно запустится, и я не могу узнать, загрузка прошла успешно или нет.

Я занимаюсь этим уже несколько дней, и я здесь в растерянности. Любые предложения будут приветствоваться.

Возможно, на это стоит обратить внимание;

https://github.com/seedifferently/boto_rsync

Нашел здесь;

Использование RSYNC с Amazon S3

Я успешно сделал это, используя инструкцию по следующей ссылке 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