Folder automatycznej synchronizacji na serwerze Ubuntu z wiadrem Amazon S3


Mam aplikację uruchomioną na serwerze Digital Ocean i są tam dwa foldery, w których są aktualizowane obrazy przesłane przez użytkownika.
Czy jest możliwe automatyczne przesyłanie nowych pobrań z folderu serwera do s3.
Skonfigurowałem już interfejs wiersza poleceń AWS na serwerze Ubuntu.
dzięki
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Możesz też spróbować

Klient Minio aka mc
https://github.com/minio/mc, open source i zgodny z S3 API. Możesz użyć
         mc mirror
polecenie do archiwizacji katalogów.
Instalowanie klienta minio:
$ wget [url=https://dl.minio.io/client/mc/release/linux-amd64/mc]https://dl.minio.io/client/mc/ ... 64/mc[/url] 
$ chmod 755 mc
$ ./mc --help

Konfigurowanie MC dla Amazon S3:
$ ./mc config host add <ALIAS> <YOUR-S3-ENDPOINT> <YOUR-ACCESS-KEY> <YOUR-SECRET-KEY>

przykład
$ ./mc config host add mys3 [url=https://s3.amazonaws.com]https://s3.amazonaws.com[/url] BKIKJAA5BMMU2RHO6IBB V7f1CwQqAcwo80UEIJEjc5gVQUSSx5ohQ9GSrr12

Kopiowanie folderu lokalnego do AWS S3:
$ ./mc mb mys3/mys3baucket
$ ./mc mirror mylocaldir/ mys3/mys3baucket

Pierwsze polecenie tworzy zasobnik o nazwie mys3baucket. Drugie polecenie odzwierciedla katalog lokalny do zasobnika S3 według nazwy. Można to łatwo zainstalować w
         cron
dla okresowego lustra.
           mc
implementuje następujące polecenia

:
 ls        List files and folders.
mb Make a bucket or folder.
cat Display contents of a file.
pipe Write contents of stdin to one or more targets. When no target is specified, it writes to stdout.
share Generate URL for sharing.
cp Copy one or more objects to a target.
mirror Mirror folders recursively from a single source to many destinations.
diff Compute differences between two folders.
rm Remove file or bucket [WARNING: Use with care].
access Manage bucket access permissions.
session Manage saved sessions of cp and mirror operations.
config Manage configuration file.
update Check for a new software update.
version Print version.

Mam nadzieję, że to pomoże.
Zastrzeżenie: pracuję dla

Minio
https://minio.io
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Moim zdaniem nie ma tutaj idealnego rozwiązania, ale możesz wypróbować dwa obejścia:

Działa jak rodzaj rsync.
Najlepszą implementacją dla Twojej aplikacji internetowej byłoby bezpośrednie przesyłanie i pobieranie do zasobnika S3. S3 został zaprojektowany specjalnie do tego celu i oferuje fajne sztuczki, takie jak walidacja oparta na kształcie.

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się