Автоматическая односторонняя синхронизация файлового ресурса Windows с контейнером S3

Автоматическая односторонняя синхронизация файлового ресурса Windows с контейнером S3

У наших клиентов есть общие файловые ресурсы Windows, где они хранят множество различных документов.

Мы хотим загрузить файлы, соответствующие шаблонам подстановочных знаков (например *.pdf, *.xlsx, и т. д.), из этих файловых ресурсов в контейнеры S3 для создания озера данных.

Мы рассматриваем несколько альтернатив, но считаем, что у некоторых людей могут быть идеи получше, как это сделать:

  1. Запустите программное обеспечение агента на файловых серверах Windows клиентов.

    1.a. Напишите скрипт PowerShell, который rcloneкопирует новые/измененные/удаленные файлы в S3 и вызывает HTTP API отчетов, чтобы сообщить нам, успешно ли он был выполнен или нет, и запланируйте этот скрипт на периодический запуск с помощью планировщика задач.

    1.б. Сделайте то же самое, но используя aws s3 syncfrom aws-cli.

    1.c. Разместим собственный загрузчик на основе Facebook Watchman или аналогичного решения для просмотра файлов.

  2. Настройте сервер SFTP или WebDAV на клиентском файловом сервере и запустите его rcloneс экземпляра EC2, которым мы управляем.

Мы хотим знать, нет ли другой более простой технологии, которую мы могли бы использовать. Может ли Amazon FSx как-то помочь? Как своего рода автоматический механизм репликации для зеркалирования наших клиентских файловых ресурсов на файловых системах Amazon FSx Windows?

Или, может быть, есть какое-то другое решение «создать свой собственный Dropbox с использованием бэкэнда Amazon S3»?

решение1

Вы можете использовать Cloudberry Backup, это приложение для односторонней синхронизации. Установите его на Windows Server, добавьте учетную запись S3, настройте локальный путь к файлу с фильтром формата файла и местом назначения для вашего контейнера S3. Это приложение содержит планировщик, его можно запускать автоматически. Пока это решение, которое я использую. AWS CLI или другое приложение с открытым исходным кодом, такое как FreeFileSync, не могут удовлетворить мои требования, так как эти приложения должны проверять обе стороны перед синхронизацией, и с ростом огромных файлов это вызывает проблемы. Но на пути к решению этой проблемы синхронизация просто сохраняет последние файлы на сервере Windows.

Связанный контент