Introdução ao comando AWS S3CMD por exemplos
- 4418
- 890
- Enrique Crist
O artigo a seguir fornecerá alguns exemplos básicos sobre como usar a AWS S3CMD
comando:
Liste tudo
O primeiro S3CMD
Comando que abordaremos listará todos os dados disponíveis (objetos) sob nossa conta AWS S3. Isso listará todos, baldes, diretórios e arquivos:
$ s3cmd la
Crie um balde
Agora, é hora de criar um novo balde. Você pode pensar em um bucket como um diretório de nível superior, onde pode armazenar e classificar elegantemente seus dados. O nome do balde deve ser único em todo o sistema, caso contrário, você receberá um erro: Erro: S3 Erro: 409 (BucketalReadyExists)
. O primeiro balde que vamos criar será chamado LinuxConfigorg
:
$ s3cmd mb s3: // linuxconfigorg bucket 's3: // linuxconfigorg/' criado
Liste todos os baldes disponíveis
Agora, que criamos nosso primeiro balde, é hora de confirmar sua existência listando todos os baldes S3 existentes:
$ S3CMD LS 2016-01-18 02:09 S3: // LinuxConfigorg
Copiar arquivo no balde
Nosso balde S3: // LinuxConfigorg
está disponível e pronto para receber nossos dados. Primeiro, precisamos criar algum arquivo de amostra, por exemplo. Foobar
E então copie -o para o nosso novo balde:
$ ECHO LinuxConfig.org> foobar $ cat foobar linuxconfig.org
Vamos copiar este novo arquivo em nosso balde LinuxConfigorg
:
$ s3cmd put foobar s3: // linuxconfigorg/
Confirme que o arquivo foi copiado:
$ S3CMD LS S3: // LinuxConfigorg/2016-01-18 02:21 16 S3: // LinuxConfigorg/Foobar
Copie arquivos entre baldes
O S3CMD
O comando também permite copiar arquivos entre dois baldes S3. No exemplo seguinte, primeiro criaremos um novo balde chamado LinuxConfigorg2
E então vamos copiar nosso Foobar
arquivo localizado em LinuxConfigorg
balde para LinuxConfigorg2
balde:
$ s3cmd mb s3: // linuxconfigorg2 bucket 's3: // linuxconfigorg2/' criou $ s3cmd cp s3: // linuxconfigorg/foobar s3: // linuxconfigorg2/remote: 's3: // linuxfligor : // linuxconfigorg2/foobar '
Mova arquivos entre baldes
O mesmo que com o comando de cópia, também podemos mover dados entre baldes. No exemplo seguinte, vamos mover o arquivo Fooobar
de LinuxConfigorg2
balde para LinuxConfigorg
e renomeando -o no processo para Foobar2
:
$ s3cmd mv s3: // linuxconfigorg2/foobar s3: // linuxconfigorg/foobar2 move: 's3: // linuxconfigorg2/foobar' -> 's3: // linuxconfigorg/foobar2'
Como resultado do processo de movimento nosso LinuxConfigorg2
Bucket agora está vazio:
$ S3CMD LS S3: // LinuxConfigorg2/$
Sincronize um diretório de localidade
S3CMD
O comando também permite uma sincronização de arquivo. Observe que o comando de sincronização do S3CMD não sincroniza diretórios vazios. Ele usa md5sum e fileSize para sincronizar arquivos. Se você estiver vazio, ele não será criado dentro de um balde de destino.
Exemplo:
$ mkdir -p dir1/dir2/dir3 $ touch dir1/dir2/file2 $ s3cmd sync dir1/s3: // linuxconfigorg/
No exemplo acima, criamos três diretórios contendo apenas um único arquivo dentro Dir2
diretório. Como resultado, S3CMD
comando omitido diretórios vazios, enquanto apenas Dir2
foi copiado para o nosso balde S3.
Criando um diretório/pasta
Não há necessidade de criar um diretório antes de enviar seus dados. Por exemplo, o comando Linux a seguir copiará um arquivo para S3: // LinuxConfigorg/Bucket ao criar um novo diretório durante o processo:
$ s3cmd put foobar s3: // linuxconfigorg/new_directory/$ s3cmd la dir s3: // linuxconfigorg/dir2/dir s3: // linuxconfigorg/newdirectory/2016-01-18 02:21 16 s3: // linuxf -01-18 02:33 16 s3: // linuxconfigorg/foobar2
Remoção do arquivo
O seguinte comando linux removerá os dois Foobar
e Foobar2
arquivos atualmente localizados dentro LinuxConfigorg
balde:
$ s3cmd rm s3: // linuxconfigorg/foobar2 s3: // linuxconfigorg/foobar delete: 's3: // linuxconfigorg/foobar2' delete: 's3: // linuxconfigorg/foobar'
Como você pode ver S3CMD
O comando aceita vários argumentos e, portanto, somos capazes de remover vários arquivos usando um único comando rm.
Bucket inteiro vazio
Em seguida, mostrará como remover todos os arquivos e diretórios em um balde. Por exemplo, o seguinte comando Linux removerá todos os arquivos e diretórios disponíveis localizados dentro LinuxConfigorg
S3 Bucket:
$ s3cmd del -r ---for s3: // linuxconfigorg/delete: 's3: // linuxconfigorg/dir2/file2' delete: 's3: // linuxconfigorg/new_directory/foobar'
Remova o balde
Antes de remover o balde S3, o balde deve estar vazio. Usando o comando anterior, removemos todos os objetos de LinuxConfigorg
S3 Bucket e, portanto, agora pode ser removido:
$ s3cmd rb s3: // linuxconfigorg/bucket 's3: // linuxconfigorg/' removido
Compactar o arquivo antes de fazer o upload
O comando Linux a seguir é mais avançado, pois usa tubos e stdout para primeiro compactar o arquivo com uma compactação GZIP máxima e transmiti -lo diretamente para o S3 Bucket:
$ gato foobar | gzip -9 | s3cmd put - s3: // linuxconfigorg/foobar.gz '' -> 's3: // linuxconfigorg/foobar.gz '[Parte 1, 36b] 36 de 36 100% em 1s 32.90 B/S feito
Diretório de compactação antes de fazer upload
Da mesma forma que o comando acima, também podemos comprimir o diretório inteiro antes de ser carregado no S3 Bucket:
$ tar cz dir1/ | gzip -9 | s3cmd put - s3: // linuxconfigorg/dir1.alcatrão.gz '' -> 's3: // linuxconfigorg/dir1.alcatrão.GZ '[Parte 1, 196b] 196 de 196 100% em 0s 336.18 b/s feito
Tutoriais do Linux relacionados:
- Coisas para instalar no Ubuntu 20.04
- Coisas para fazer depois de instalar o Ubuntu 20.04 fossa focal linux
- Uma introdução à automação, ferramentas e técnicas do Linux
- Comandos Linux: os 20 comandos mais importantes que você precisa para…
- Comandos básicos do Linux
- Ubuntu 20.04 Guia
- Coisas para fazer depois de instalar o Ubuntu 22.04 Jellyfish…
- Sistema Linux Hung? Como escapar para a linha de comando e…
- Mastering Bash Script Loops
- Exemplos úteis de linha de comando bash e exemplos de truques - Parte 1
- « Como alterar a senha do usuário do MySQL da linha de comando usando mysqladmin no linux
- Kimai - Implantação de instalação do Time Trakcer usando o Docker »