Nest post irei criar uma sincronização entre minha pasta local de trabalho com arquivos determinados para a pasta da amazon aws. Estou assumindo a criação na conta da Aws, bem como seu bucket específico.

Primeiro Passo: Aws Credentials

Antes de rodar os comandos ou rodando eles você irá esbarrar em uma mensagem de erro pedindo as credenciais, rode o aws configure e insira seu key e chave secreta. Mais aqui.

Segundo passo: Comandos Aws

Instale o aws sdk, basicamente é um comando para acessar a máquina da sdk, com praticamente tudo que você faria no seu linux local, como por exemplo aws s3 ls para ver a lista de arquivos ou buckets. cp para copiar. rm para remover. mv para mover. mb de “make bucket” para criar um bucket.

Terceiro passo: Sync

Depois busque a pasta local que você deseja, como por exemplo ~/aws_sync e simplesmente rode o comando:

aws s3 sync ~/aws_sync . s3://bucket

Ou simplesmente aws s3 sync . s3://bucket se você já estiver na pasta desejada, ele vai assumir o próprio local para sincronização. O ‘.’ pega todos os arquivos do diretório. É possível selecionar, excluir e fazer uma série de filtros nesta sincronização.

Essa sincronização que eu criei é apenas de ida, ou seja, só vai enviar os arquivos para a S3, não vou utilizar os arquivos que estão na bucket. Deixo eles somente no modo de leitura e crio outros arquivos na s3 se precisar edita-los.

Quarto Passo: Criar um script

Já tenho um post sobre scripts, confira aqui.

Neste caso vou criar um para fazer o upload, ainda não sei se as credenciais ficam armazenadas definitivamente na máquina, mas veremos. Cuidado: ainda tenho que testar este script no caso de deletar arquivos, conflitos etc.

  aws s3 sync ~/aws_sync . s3://bucket

Quinto Passo: Criar um cron job

Pendente

Resources:

aws client commands

aws s3 reference

agendador de tarefas cron