Rsync para bucket da AWS S3

26

Para um servidor em que estou hospedando um site, quero fazer backup dos dados e configurações em um bucket S3. Eu descobri que você não pode usar diretamente o rsync para fazer backup em um bucket S3. Existe outra maneira de obter o seguinte comando rsync para fazer backup dos dados em um bucket S3?

rsync -­av ­/Data /s3bucket

Também quero fazer backup do banco de dados mysql nesse servidor para o bucket S3. Qual a melhor maneira de alcançar isto?

Última pergunta, se eu conseguisse fazer backup de tudo no S3. Qual é a melhor maneira de restaurar o servidor se ele falhar ou, na pior das hipóteses, completamente apagado? Preciso anotar as configurações do servidor e reconfigurá-lo ou existe uma maneira de fazer backup disso também?

Bart Bergmans
fonte

Respostas:

35

Para se comunicar com s3, você precisa ter duas coisas

  1. Credenciais de usuário do IAM que têm acesso de leitura e gravação ao bloco s3.
  2. Um cliente como o aws-cli for bash, a biblioteca boto para python etc.

depois de ter os dois, você pode transferir qualquer arquivo de sua máquina para s3 e de s3 para sua máquina. Abaixo está o exemplo para o aws-cli.

  1. sincronizar todos os arquivos em uma pasta

    aws s3 sync source_folder s3://your_bucket_name/destination_folder/

  2. copiar um arquivo para s3

    aws s3 cp source_file s3://your_bucket_name/destination_folder/

basta substituir a origem e o destino no comando para baixar qualquer arquivo do s3.

para mais informações, siga os documentos do aws

Gaurav Pundir
fonte
1
Nota: você provavelmente desejará executar o "aws configure" primeiro, para armazenar suas credenciais, para que você não precise digitá-las a cada sincronização.
Tim Burch
1
Vale ressaltar que rsynccalcula as somas de verificação, do lado do cliente e do servidor, e depois as compara para decidir com precisão se um arquivo foi alterado. Considerando aws s3 syncque não - ele usa tamanhos de arquivo e timestamps. Alguém por favor me corrija se eu estiver errado?
Lqueryvg 8/03
13

Você pode tentar rclone .

Configuração ( documentos ):

rclone config

Sincronização ( documentos ):

rclone sync /my/local/folder s3service:bucket-name
Keith
fonte
2
rcloneé uma pequena utilidade fantástica!
Andrew Odendaal
1
1+ rclone, eu achei v fácil de usar e o desenvolvedor parece incrivelmente ativa e envolvente.
adampski
Parece bom, mas você pode explicar qual é a vantagem usando o aws s3 sync?
Kutzi
Ele atende aos requisitos do OP de usar o rsync. Eu não usei s3 sync ou rclone com s3, então não sei mais.
Keith