web-dev-qa-db-ja.com

ftpサーバーからs3にファイルを移動します

ユーザーがファイルをアップロードするftpサーバーをセットアップし、ファイルごとにs3ストレージに配置して、ftpサーバーから削除したいと思います。 (サーバーはec2 ubuntuで実行されます)

これが私がすでに試したものですが、成功しませんでした。

  1. S3fsを使用してs3バケットをマウントします。私はそれらに従いました 指示 、しかし最新バージョンのs3fsにはバグがあり、それが機能しません。バグは開発ブランチで修正されましたが、本番環境で不安定なバージョンを使用したくありません。

  2. Vsftpdを使用し、cron経由でs3cmd syncを使用して、ファイルを定期的に同期します。このアプローチの問題は、s3cmdがファイルのアップロードの途中で実行を開始し、不完全なファイルの同期を開始する可能性があることです。また、s3cmdは同期が失敗してもフィードバックを提供しないため、syncコマンドの実行が終了した後にファイルを削除できるかどうかを知る方法がありません。

  3. Pure-ftpdのアップロードスクリプト機能(ファイルのアップロードが完了した後にスクリプトを実行できる)を使用しますが、ファイルのアップロードが途中で失敗した場合、スクリプトはとにかく実行され、私はそれを知る方法がありません。アップロードが成功したかどうか。

私はここ数日そこにいて、ここで途方に暮れています。どんな提案でも歓迎されます。

4
lev

これは調べる価値があるかもしれません。

https://github.com/seedifferently/boto_rsync

ここにあります。

Amazon S3でRSYNCを使用

1
sgtbeano

次のリンクの手順を使用して正常に実行しました https://github.com/s3fs-Fuse/s3fs-Fuse.git

この目的でubuntuユーザーを使用するのは良くないので、ftp用に別のユーザーも作成しました

http://docs.aws.Amazon.com/AWSEC2/latest/UserGuide/managing-users.html

ただし、両方がマウントされているため、S3にアップロードした後にEC2サーバーからファイルを削除する方法を見つける必要があります。EC2からファイル/フォルダーを削除すると、S3から削除されます。

0
Ved Prakash