Você pode usar o utilitário " s3cmd " com a opção "sync", embora tenha me deparado com sua pergunta porque estou tentando descobrir se esse mecanismo de sincronização está estragando meus backups de duplicidade.
Eu quero espelhar meus buckets do Amazon S3. Eu quero fazer isso porque 1) Eu não quero que todos os meus dados existam apenas com um provedor; e 2) em caso de erro de software ou violação de segurança, eu quero fazer o backup dos dados.
Eu posso espelhar para um disco local com a função s3cmd sync, mas isso não é escalável para buckets muito grandes e não é útil para restaurações rápidas de backup. Eu prefiro ter meus dados espelhados para um concorrente como o Rackspace Cloud Files.
Alguém tem algumas sugestões de maneira simples e robusta para facilitar esse tipo de espelhamento de forma automatizada em uma caixa Linux?
Você pode usar o utilitário " s3cmd " com a opção "sync", embora tenha me deparado com sua pergunta porque estou tentando descobrir se esse mecanismo de sincronização está estragando meus backups de duplicidade.
Eu estava tendo o mesmo problema, então preparei um pequeno programa especificamente projetado para espelhar um bucket S3 para outro; Eu chamo de s3s3mirror.
Eu tentei a abordagem "s3cmd sync" primeiro, mas eu tinha um balde com centenas de milhares de objetos, e "s3cmd sync" apenas ficava lá, sem fazer nada além de consumir mais e mais memória até meu sistema morrer . Eu projetei s3s3mirror para ir imediatamente, para usar 100 threads simultâneos (configuráveis) e para fazer uso modesto de CPU e memória. Se eu mesmo disser isso, é bem rápido.
Eu disponibilizei isso no github com uma licença Apache. Se você decidir dar um giro, por favor, deixe-me saber o que você pensa e se há algo que possa ser melhorado.
Este é o link: link
obrigado!
A Amazon agora tem uma ferramenta suportada para fazer isso, o aws cli .
Ele pode espelhar em qualquer direção entre local e remoto, ou entre dois locais s3.
Infelizmente, ele não tem nenhum suporte direto para locais que não sejam do S3, como o rackspace, mas achei que essa seria uma resposta útil para alguns que encontrarem essa pergunta. Como eu, antes de encontrar.
Em particular,
aws s3 sync s3://some/s3/path /some/local/path
Confira Jungle Disk Server . Funciona com o Amazon S3 e o Rackspace Cloud Files. Você pode montar o S3 e o CF em locais diferentes no seu sistema de arquivos e, em seguida, usar o rsync entre os dois.
Você pode tentar montar os buckets com o fusível usando s3fs . Feito isso, você poderá rsync do ponto de montagem para o disco local.
Você pode configurar o Minio server , código aberto e API compatível com S3. Você pode configurá-lo no EC2 ou em qualquer provedor de nuvem como seu servidor alternativo e usar o comando clientes Minio mc mirror
espelho do S3 periodicamente. Você pode automatizar o mesmo escrevendo um script cron simples.
Espero que ajude. Isenção de responsabilidade: Eu trabalho para Minio
Para a sincronização on-line de depósitos, você pode usar a replicação entre regiões. Dessa forma, todas as atualizações do bucket original serão automaticamente sincronizadas com o bucket do S3 em outra região: link
Lembre-se de que ele exige que o controle de versão esteja ativado para o intervalo, por isso, se você fizer atualizações / exclusões de objetos em intervalos, desejará ativar a política de ciclo de vida para excluir objetos antigos.