Rsync a AWS S3 bucket

26

Para un servidor en el que alojo un sitio web, quiero hacer una copia de seguridad de los datos y la configuración en un depósito S3. Descubrí que no puedes usar rsync directamente para hacer una copia de seguridad en un bucket de S3. ¿Hay alguna otra manera de lograr el siguiente comando rsync para hacer una copia de seguridad de los datos en un depósito S3?

rsync -­av ­/Data /s3bucket

También quiero hacer una copia de seguridad de la base de datos mysql en ese servidor en el depósito S3. ¿Cuál es la mejor manera de lograr esto?

Última pregunta, si logré hacer una copia de seguridad de todo en el S3. ¿Cuál es la mejor manera de restaurar el servidor si está bloqueado o, en el peor de los casos, completamente borrado? ¿Tengo que tener en cuenta la configuración del servidor y reconfigurar el servidor o hay alguna forma de hacer una copia de seguridad de esto?

Bart Bergmans
fuente

Respuestas:

35

Para comunicarte con s3 necesitas 2 cosas

  1. Credenciales de usuario de IAM que tienen acceso de lectura y escritura al depósito s3.
  2. Un cliente como aws-cli para bash, boto library para python, etc.

una vez que tenga ambos, puede transferir cualquier archivo de su máquina a s3 y de s3 a su máquina. A continuación se muestra el ejemplo de aws-cli.

  1. sincronizar todos los archivos en una carpeta

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

  2. copiar un archivo a s3

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

simplemente reemplace origen y destino en el comando para descargar cualquier archivo de s3.

para más información siga aws docs

Gaurav Pundir
fuente
1
Nota: probablemente desee ejecutar "aws configure" primero, para almacenar sus credenciales, de modo que no tenga que ingresarlas con cada sincronización.
Tim Burch
1
Vale la pena señalar que rsynccalcula las sumas de verificación, del lado del cliente y del servidor, y luego las compara para decidir con precisión si un archivo ha cambiado. Mientras aws s3 syncque no, utiliza tamaños de archivo y marcas de tiempo. Alguien por favor corrígeme si me equivoco?
Lqueryvg
13

Puedes probar rclone .

Configuración ( documentos ):

rclone config

Sincronización ( docs ):

rclone sync /my/local/folder s3service:bucket-name
Keith
fuente
2
rcloneEs una pequeña utilidad fantástica!
Andrew Odendaal
1
1+ rclone, lo encontré v fácil de usar y el desarrollador parece increíblemente activa y atractiva.
adampski
Suena bien, pero ¿puedes explicar cuál es la ventaja sobre usar aws s3 sync?
Kutzi
Cumple con el requisito de OP de usar rsync. No he usado s3 sync o rclone con s3, así que no sé nada más.
Keith