Cómo usar el CLI de AWS para sincronizar una carpeta local con un bucket de S3:
-
Instalar el CLI de AWS (está hecho en Python, se instala facilito con pip, después de instalar pip con easy_install)
-
Configurar el entorno usando
aws configure
(pedirá datos de IAM q se crean en dos tiempos en la página de AWS) -
Crear un bucket en S3 en la página de AWS y no darle ningún permiso en particular
-
Al usuario de IAM hay que darle permisos sobre el Bucket para que pueda leer, escribir, borrar (ver mi gist de IAM)
-
Listo para sincronizar usando
aws s3 sync . s3//blah
Formas de uso:
aws s3 sync . s3//blah
hace que el local sea el padre, por lo tanto borrando cosas en el remoto hará que se vuelvan a copiar, pero borrar cosas localmente no hará que se borren en el remoto.aws s3 sync --delete . s3//blah
hace que el local sea el padre, y si se borra un archivo localmente será borrado en el remoto también (si se borran cosas en el remoto se vuelven a copiar desde el local) Usar los comandos al revés (con el bucket antes que el directorio local,aws s3 sync s3//blah .
, causará que el Bucket sea el padre.