Todos os produtos
Search
Central de documentação

Object Storage Service:cp (upload files)

Última atualização: Aug 28, 2026

Para enviar arquivos locais, imagens, vídeos ou outros recursos para o OSS — inclusive arquivos grandes — use o comando cp do ossutil.

Observações importantes

  • O envio de arquivos exige as permissões oss:PutObject, oss:ListParts e oss:AbortMultipartUpload. Para mais detalhes, consulte Grant custom permission policies to RAM users.

  • O upload em lote é compatível apenas quando a origem é um diretório.

  • A opção --snapshot-path, disponível no ossutil 1.0, foi removida no ossutil 2.0. Para realizar uploads incrementais, use a opção -u (--update).

  • Ao usar a opção -u, --update, o sistema envia pelo menos uma requisição HEAD para cada arquivo a fim de compará-lo com o objeto de destino, independentemente da existência desse objeto. Em cenários com poucas alterações de dados, isso gera muitas requisições ineficientes, o que pode degradar o desempenho e gerar custos adicionais. Avalie cuidadosamente suas necessidades de negócio antes de usar esta opção para evitar consumo desnecessário de recursos.

Sintaxe do comando

ossutil cp source dest [flags]
Importante
  • A partir do ossutil 2.3.0, você pode configurar as opções --job, --parallel, --bigfile-threshold, --part-size e --write-buffer-size por meio de um arquivo de configuração. Adicione-as no formato key=value (por exemplo, job=10) na seção de perfil correspondente do arquivo de configuração ou defina-as usando ossutil config set. As opções de linha de comando têm precedência sobre as configurações do arquivo.

  • A partir do ossutil 2.4.0, a opção --enable-symlink-dir permite o upload de subdiretórios com links simbólicos por meio do comando cp.

Parâmetro

Tipo

Descrição

source

string

Caminho do arquivo local. Aceita caminhos relativos, absolutos e -. Quando definido como -, os dados são lidos da entrada padrão.

dest

string

Caminho do arquivo no bucket de destino. Exemplo: oss://bucket[/prefix].

--acl

string

Permissões de acesso ao objeto. Valores válidos:

  • private: privado.

  • public-read: leitura pública.

  • public-read-write: leitura e escrita públicas.

  • default: herdar do bucket.

--bandwidth-limit

SizeSuffix

Limita a largura de banda da rede para controlar a taxa de transferência de dados. O valor mínimo é 1024 B/s. A unidade padrão é B/s.

Ao definir este parâmetro, especifique uma unidade conforme necessário. As unidades válidas incluem B (bytes), K (kilobytes), M (megabytes) e G (gigabytes). Por exemplo, 50 M define o limite de largura de banda para 50 MB/s.

--bigfile-threshold

SizeSuffix

Limiar (em bytes) para ativar o upload, download ou cópia multipart para arquivos grandes. Valor padrão: 104857600.

Nota

Compatível com configurações via arquivo de configuração a partir do ossutil 2.3.0.

--cache-control

string

Define o comportamento de cache quando o navegador web baixa o objeto.

--content-disposition

string

Especifica como exibir o objeto.

--content-encoding

string

Declara o método de codificação do objeto.

--content-type

string

Tipo de conteúdo do objeto.

--copy-props

string

Determina quais propriedades copiar do objeto de origem. Valores válidos:

  • none

  • metadata

  • default

--checkpoint-dir

string

  • Se nenhum caminho de diretório de checkpoint for especificado, o upload retomável fica desativado.

  • Se um diretório for especificado, o upload retomável será ativado e os arquivos de checkpoint serão salvos no subdiretório .ossutil_checkpoint dentro do caminho indicado.

-d, --dirs

string

Lista arquivos e subdiretórios no diretório atual sem listar recursivamente todos os arquivos nos subdiretórios.

--encoding-type

string

Método de codificação para nomes de objetos ou arquivos de entrada. Valor válido: url.

--end-with

string

Retorna objetos anteriores ou correspondentes ao valor especificado em ordem alfabética.

--exclude

stringArray

Regras de exclusão para caminhos ou nomes de arquivos.

--exclude-from

stringArray

Lê regras de exclusão de um arquivo de regras.

--expires

stringArray

Especifica o tempo absoluto de expiração para conteúdo em cache.

--files-from

stringArray

Lê uma lista de nomes de arquivos de origem a partir de um arquivo, ignorando linhas vazias e comentários. Aplica-se apenas a cenários de filtragem.

--files-from-raw

stringArray

Lê uma lista de nomes de arquivos de origem a partir de um arquivo. Aplica-se apenas a cenários de filtragem.

--filter

stringArray

Regras de filtragem para caminhos ou nomes de arquivos.

--filter-from

stringArray

Lê regras de filtragem de um arquivo de regras.

-f, --force

/

Força a operação sem solicitar confirmação.

--include

stringArray

Regras de inclusão para caminhos ou nomes de arquivos.

Nota

Para mais informações sobre opções de filtragem, consulte Filtering options.

--include-from

stringArray

Lê regras de inclusão de um arquivo de regras.

-j, --job

int

Número de tarefas concorrentes. Valor padrão: 3.

Nota
  • Esta opção só tem efeito quando você também especifica um dos seguintes parâmetros: -f, --update, --size-only ou --ignore-existing.

  • Compatível com configurações via arquivo de configuração a partir do ossutil 2.3.0.

--listObjects

/

Usa a API ListObjects para listar objetos.

--max-size

SizeSuffix

Tamanho máximo de arquivo para transferir. A unidade padrão é bytes. Você também pode usar sufixos: B|K|M|G|T|P. Observação: 1K (KiB) = 1024B.

--metadata

strings

Metadados definidos pelo usuário para o objeto, no formato key=value.

--metadata-directive

string

Especifica como definir metadados para o objeto de destino. Valores válidos:

  • COPY

  • REPLACE

--metadata-exclude

stringArray

Regras de exclusão para metadados de objetos.

--metadata-filter

stringArray

Regras de filtragem para metadados de objetos.

--metadata-filter-from

stringArray

Lê regras de filtragem de metadados de objetos de um arquivo de regras.

--metadata-include

stringArray

Regras de inclusão para metadados de objetos.

--min-age

Duration

Envia apenas arquivos modificados antes do intervalo de tempo especificado. A unidade padrão é segundos. É possível usar sufixos como h (horas). Exemplo: 1h significa 1 hora.

Nota

--min-age 1h envia apenas arquivos modificados há uma hora ou mais.

--max-age

Duration

Envia apenas arquivos modificados dentro do intervalo de tempo especificado. A unidade padrão é segundos. É possível usar sufixos como h (horas). Exemplo: 1h significa 1 hora.

Nota

--max-age 1h envia apenas arquivos modificados na última hora.

--min-mtime

Time

Envia apenas arquivos modificados após o horário especificado, por exemplo, 2006-01-02T15:04:05.

--max-mtime

Time

Envia apenas arquivos modificados antes do horário especificado, por exemplo, 2006-01-02T15:04:05.

--min-size

SizeSuffix

Tamanho mínimo de arquivo para transferir. A unidade padrão é bytes. Você também pode usar sufixos: B|K|M|G|T|P. Observação: 1K (KiB) = 1024B.

--no-progress

/

Não exibe a barra de progresso.

--page-size

int

Número máximo de objetos listados por página durante o upload em lote. Valor padrão: 1000. Intervalo válido: 1–1000.

--parallel

int

Número de tarefas concorrentes para operações internas em um único arquivo.

Nota

Compatível com configurações via arquivo de configuração a partir do ossutil 2.3.0.

--part-size

SizeSuffix

Tamanho da parte para upload multipart. Por padrão, o ossutil calcula um tamanho de parte apropriado com base no tamanho do arquivo. Intervalo válido: 100 KiB–5 GiB.

Nota

Compatível com configurações via arquivo de configuração a partir do ossutil 2.3.0.

-r, --recursive

/

Executa a operação recursivamente. Quando esta opção é especificada, o comando opera em todos os objetos correspondentes no bucket. Caso contrário, opera apenas no objeto especificado pelo caminho.

--request-payer

string

Método de pagamento da requisição. Defina este parâmetro se o bucket utilizar o modo pay-by-requester. Valor válido: requester.

--size-only

/

Envia apenas arquivos de origem cujo tamanho difere dos arquivos de destino.

--storage-class

string

Classe de armazenamento do objeto. Valores válidos:

  • Standard: Armazenamento padrão.

  • IA: Armazenamento de acesso pouco frequente.

  • Archive: Archive Storage.

  • ColdArchive: Cold Archive storage.

  • DeepColdArchive: Deep Cold Archive storage.

--tagging

strings

Tags para o objeto, no formato key=value.

--tagging-directive

string

Especifica como definir tags para o objeto de destino. Valores válidos:

  • COPY

  • REPLACE

-u, --update

/

Ignora arquivos que já existem no destino e possuem um tempo de modificação mais recente que os arquivos de origem.

Nota

Se um arquivo já existir no destino, mas tiver um tempo de modificação mais antigo que o arquivo de origem, o arquivo será atualizado.

--ignore-existing

/

Ignora arquivos que já existem no destino.

Nota

Para mais informações, consulte Command-line options.

As regras de nomenclatura de objetos são as seguintes:

  • No upload de arquivo único, se o prefixo estiver vazio, o nome do objeto será o nome do arquivo.

  • No upload de arquivo único, se o prefixo terminar com "/", o nome do objeto será prefixo + nome do arquivo.

  • No upload em lote, se o prefixo estiver vazio, o nome do objeto será o caminho relativo do arquivo de origem.

  • No upload em lote, se o prefixo terminar com "/", o nome do objeto será prefixo + caminho relativo do arquivo de origem.

  • No upload em lote, se o prefixo não terminar com "/", o nome do objeto será prefixo + "/" + caminho relativo do arquivo de origem.

Nota

O caminho relativo de um arquivo de origem começa após o diretório raiz. Por exemplo, ao executar cp /root/dir/ ..., o caminho relativo do arquivo /root/dir/subdir/test.txt é subdir/test.txt.

Parâmetros recomendados para upload de arquivos grandes

Ao enviar um arquivo maior que 100 MB, o ossutil muda automaticamente para upload multipart. Para aumentar a velocidade de upload e habilitar o upload retomável, utilize os seguintes parâmetros em conjunto:

Parâmetro

Valor recomendado

Descrição

-j, --job

10

Número de tarefas concorrentes para upload de múltiplos arquivos. Valor padrão: 3. Esta opção só tem efeito quando você também especifica -f, --update, --size-only ou --ignore-existing.

--parallel

10

Número de tarefas concorrentes para operações internas (como uploads multipart) em um único arquivo. Aumentar este valor acelera o upload de um único arquivo grande.

--checkpoint-dir

/path/to/checkpoint

Diretório usado para upload retomável.

O diretório especificado por --checkpoint-dir é criado no servidor local, e não no bucket do OSS. O ossutil cria automaticamente um subdiretório .ossutil_checkpoint neste caminho para armazenar arquivos de checkpoint .ucp que registram o progresso do upload (incluindo o ID do upload multipart e informações das partes).

Se o upload for interrompido, execute o mesmo comando novamente. O ossutil retoma o upload a partir do arquivo de checkpoint, reutiliza o mesmo ID de upload multipart e não reenvia as partes já carregadas.

Exemplo:

ossutil cp localfile.tar oss://examplebucket/desfolder/ -j 10 --parallel 10 --checkpoint-dir /path/to/checkpoint

Exemplos

Upload de um único arquivo

  • Upload de arquivo individual

    Envie o arquivo local examplefile.txt para a pasta desfolder em examplebucket.

    ossutil cp D:/localpath/examplefile.txt oss://examplebucket/desfolder/

Upload de múltiplos arquivos

  • Upload apenas de arquivos em uma pasta

    Envie os arquivos da pasta local localfolder para a pasta desfolder em examplebucket.

    ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/
  • Upload em lote de arquivos que correspondem a uma condição

    Envie todos os arquivos com o formato TXT.

    ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/ --include "*.txt"
  • Uso de 10 tarefas concorrentes para upload em lote

    ossutil cp -r D:/localpath/localfolder/ oss://examplebucket/desfolder/ -f -j 10

Limitar velocidade de upload

  • Envie o arquivo local upload.rar para a pasta desfolder em examplebucket a 20 MB/s. A unidade padrão é bytes por segundo (B/s).

    ossutil cp D:/upload.rar oss://examplebucket/desfolder/ --bandwidth-limit 20971520
  • Envie o arquivo local file.rar para a pasta desfolder em examplebucket, limitando a velocidade de upload a 50 MB/s. Especifique a unidade como megabytes por segundo (MB/s).

    ossutil cp D:/file.rar oss://examplebucket/desfolder/ --bandwidth-limit 50M