Tous les produits
Search
Centre de documentation

Object Storage Service:cp (téléverser des fichiers)

Dernière mise à jour :Sep 08, 2026

Téléversez des fichiers ou répertoires locaux vers un bucket OSS à l'aide de la commande cp. Cette commande prend en charge le téléversement simple, le téléversement avec reprise, le téléversement par lot et le téléversement incrémentiel, avec des options pour les métadonnées d'objet, la classe de stockage et la liste de contrôle d'accès (ACL).

Fonctionnement

La commande cp sélectionne une méthode de téléversement en fonction de la taille du fichier :

  • Téléversement simple : utilisé lorsque le fichier est plus petit que le seuil de téléversement avec reprise (par défaut : 100 Mo, configurable avec --bigfile-threshold).

  • Téléversement avec reprise : utilisé lorsque le fichier atteint ou dépasse le seuil. Les téléversements interrompus laissent des parties dans le bucket. Nettoyez régulièrement ces parties pour éviter des coûts de stockage. Vous pouvez supprimer manuellement les parties ou configurer des règles de cycle de vie pour une suppression automatique.

Remarque

À partir d'ossutil v1.6.16, vous pouvez utiliser ossutil comme nom binaire sur tous les systèmes d'exploitation pris en charge. Dans les versions antérieures, vous devez utiliser le nom binaire spécifique à votre système d'exploitation. Pour plus d'informations, consultez la section Référence des commandes ossutil.

Autorisations

Un compte Alibaba Cloud dispose de toutes les autorisations par défaut. Les utilisateurs RAM et les rôles RAM ne disposent d'aucune autorisation par défaut et nécessitent une autorisation via une politique RAM ou une politique de bucket.

Action API

Description

oss:PutObject

Téléverse un objet.

oss:PutObjectTagging

Requis uniquement lors de la définition de tags d'objet pendant le téléversement.

kms:GenerateDataKey

Requis uniquement lors de l'utilisation du chiffrement côté serveur Key Management Service (KMS).

kms:Decrypt

Syntaxe de la commande

ossutil cp file_url cloud_url [options]

Paramètres et options :

Paramètre

Description

file_url

Le chemin du fichier local. Si la source est un répertoire, le chemin doit se terminer par un séparateur de chemin (/ ou \). Par exemple, /localfolder/examplefile.txt sur un système Linux ou D:\localfolder\examplefile.txt sur un système Windows.

cloud_url

Le chemin de l'objet, au format oss://bucket[/prefix]. Exemple : oss://examplebucket/examplefile.txt.

-r, --recursive

Téléverse récursivement les fichiers et sous-répertoires. Sans cette option, seul l'objet spécifié est traité.

-f --force

Force l'exécution de l'opération sans invite de confirmation.

-u, --update

Téléverse uniquement si l'objet de destination est manquant ou plus ancien que le fichier source.

--maxupspeed

Vitesse de téléversement maximale en Ko/s. Valeur par défaut : 0 (illimité).

--enable-symlink-dir

Téléverse les sous-répertoires liés. Cette option est désactivée par défaut.

--disable-all-symlink

Ignore tous les liens symboliques pendant le téléversement.

--disable-ignore-error

N'ignore pas les erreurs lors des opérations par lot.

--only-current-dir

Téléverse uniquement les fichiers du répertoire source spécifié, en ignorant ses sous-répertoires.

--bigfile-threshold

Le seuil de taille pour un téléversement avec reprise. Unité : octets.

Valeur par défaut : 100 Mo

Valeurs valides : 0 à 9223372036854775807

--part-size

Taille de la partie en octets. Par défaut, ossutil calcule cette valeur en fonction de la taille du fichier.

Plage : 1 à 9223372036854775807

--checkpoint-dir

Répertoire pour les enregistrements de téléversement avec reprise. Par défaut, ossutil crée un répertoire .ossutil_checkpoint et le supprime après un téléversement réussi. Si vous spécifiez un répertoire personnalisé, assurez-vous qu'il peut être supprimé.

--encoding-type

Encodage du nom de fichier. Définissez sur url pour encoder les noms de fichiers en URL. Non encodé par défaut.

--include

Inclut tous les fichiers qui répondent aux conditions spécifiées. Pour plus d'informations sur la syntaxe et les exemples, consultez la section Téléversement par lot de fichiers répondant à des conditions spécifiques.

--exclude

Exclut tous les fichiers qui répondent aux conditions spécifiées. Pour plus d'informations sur la syntaxe et les exemples, consultez la section Téléversement par lot de fichiers répondant à des conditions spécifiques.

--meta

Les métadonnées du fichier. Cela inclut les en-têtes HTTP standard et les métadonnées définies par l'utilisateur, qui commencent par x-oss-meta-. Les métadonnées doivent être au format header:value#header:value. Exemple : Cache-Control:no-cache#Content-Encoding:gzip. Pour plus d'informations sur les métadonnées prises en charge par OSS, consultez la section Gérer les métadonnées d'objet.

--acl

La liste de contrôle d'accès (ACL) du fichier. Valeurs valides :

  • default (par défaut) : L'ACL de l'objet est identique à l'ACL du bucket.

  • private : Seul le propriétaire du bucket peut lire et écrire les objets dans le bucket. Les autres utilisateurs ne peuvent pas accéder aux objets.

  • public-read : Seul le propriétaire du bucket peut écrire dans les objets du bucket. Les autres utilisateurs, y compris les utilisateurs anonymes, peuvent lire les objets. Cela peut entraîner des fuites de données et des frais inattendus élevés. Si des utilisateurs malveillants écrivent des informations illégales dans les objets, vos droits et intérêts légitimes peuvent être violés. Ne configurez pas cette autorisation sauf dans des scénarios particuliers.

  • public-read-write : Toute personne, y compris les utilisateurs anonymes, peut lire et écrire les objets dans le bucket. Cela peut entraîner des fuites de données et des frais inattendus élevés. Soyez prudent lorsque vous configurez cette autorisation.

--snapshot-path

Répertoire pour les snapshots de téléversement. Lors des téléversements ultérieurs, ossutil lit ce répertoire pour effectuer des téléversements incrémentiels.

--disable-crc64

Désactive la validation des données CRC-64. Activé par défaut.

--disable-dir-object

Ignore la création d'objets de répertoire pendant le téléversement.

--payer

Méthode de paiement. Définissez sur requester pour facturer le trafic et les frais de requête au demandeur.

--tagging

Tags à ajouter pendant le téléversement. Format : TagkeyA=TagvalueA&TagkeyB=TagvalueB.....

-j, --jobs

Tâches simultanées pour les opérations multi-fichiers. Valeur par défaut : 3. Valeurs valides : 1 à 10000.

--parallel

Tâches simultanées pour les opérations sur fichier unique. Valeurs valides : 1 à 10000. Déterminé automatiquement en fonction du type d'opération et de la taille du fichier si non défini.

--start-time

Un horodatage UNIX. Les objets qui ont été mis à jour pour la dernière fois avant cette heure sont ignorés.

Remarque

Seules les versions ossutil 1.7.18 et ultérieures prennent en charge ce paramètre. Pour plus d'informations sur la mise à niveau, consultez update (Mettre à niveau ossutil).

--end-time

Un horodatage UNIX. Les objets qui ont été mis à jour pour la dernière fois après cette heure sont ignorés.

Remarque
  • Si vous spécifiez à la fois start-time et end-time, la commande de copie est exécutée uniquement pour les fichiers qui ont été modifiés pour la dernière fois entre les heures de début et de fin spécifiées.

  • Seules les versions ossutil 1.7.18 et ultérieures prennent en charge ce paramètre. Pour plus d'informations sur la mise à niveau de la version, consultez update (Mettre à niveau ossutil).

Pour plus d'informations sur les autres options courantes de cette commande, consultez la section Options courantes.

Ajustez -j, --jobs et --parallel pour optimiser les performances. Par défaut, ossutil calcule le parallélisme en fonction de la taille du fichier. Pour les transferts par lot de gros fichiers, la concurrence réelle est jobs × parallel.

  • Si la machine dispose de ressources limitées (bande passante, mémoire ou CPU), réduisez la concurrence à 100 ou moins. Augmentez-la si les ressources sont sous-utilisées.

  • Une concurrence excessive peut dégrader les performances ou provoquer des erreurs EOF. Ajustez -j, --jobs et --parallel en fonction des ressources de votre machine. Commencez bas et augmentez progressivement pour trouver la valeur optimale.

Exemples

Ces exemples utilisent Linux. Ajustez les chemins pour votre système d'exploitation. Les exemples supposent :

  • Nom du bucket : examplebucket

  • Répertoire OSS : desfolder/

  • Répertoire local : localfolder/

  • Fichier local : examplefile.txt

Téléverser un fichier unique

  • Téléversez un fichier vers un répertoire. Si aucun nom d'objet n'est spécifié, le nom de fichier d'origine est utilisé.

    ossutil cp examplefile.txt oss://examplebucket/desfolder/
  • Téléversez un fichier unique et utilisez l'option --meta pour définir les métadonnées du fichier. Les métadonnées doivent être au format header:value#header:value....

    ossutil cp examplefile.txt oss://examplebucket/desfolder/examplefile.txt --meta=Cache-Control:no-cache#Content-Encoding:gzip

Téléversements par lot

  • Téléverser uniquement les fichiers d'un dossier

    Ajoutez l'option -r à la commande cp pour téléverser uniquement les fichiers d'un dossier local vers un chemin spécifié dans OSS.

    ossutil cp -r localfolder/ oss://examplebucket/desfolder/
  • Téléverser des fichiers depuis un dossier et spécifier un horodatage

    Téléversez des fichiers depuis un dossier local vers un chemin OSS spécifié. Les fichiers doivent avoir été modifiés entre 10:09:18 (UTC+8) le 31 octobre 2023 et 12:55:58 (UTC+8) le 31 octobre 2023.

    ossutil cp -r localfolder/ oss://examplebucket/desfolder/ --start-time 1698718158 --end-time 1698728158
  • Téléverser un dossier et les fichiers qu'il contient

    Utilisez l'option cp -r pour téléverser un dossier local et ses fichiers. OSS crée un objet de 0 Ko se terminant par / pour chaque sous-répertoire, mais pas pour le dossier lui-même. Pour créer un objet de dossier, utilisez la commande mkdir (créer des répertoires).

    ossutil cp -r localfolder/ oss://examplebucket/desfolder/localfolder/
  • Téléverser un dossier et ignorer les fichiers existants

    Pour relancer un téléversement par lot ayant échoué, utilisez --update (ou -u) pour ignorer les fichiers déjà téléversés et effectuer un téléversement incrémentiel :

    ossutil cp -r localfolder/ oss://examplebucket/desfolder/ -u
  • Téléverser uniquement les fichiers du répertoire actuel et ignorer les sous-répertoires

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --only-current-dir -r
  • Téléverser sans générer d'objet pour le répertoire

    Dans OSS, les répertoires sont simulés par des objets de 0 Ko se terminant par /. Utilisez --disable-dir-object pour ignorer la création de ces objets. La structure du répertoire apparaît toujours dans la console OSS, mais disparaît lorsque tous les fichiers qu'il contient sont supprimés.

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --disable-dir-object -r
  • Téléverser des fichiers dans un sous-répertoire lié

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --enable-symlink-dir -r
  • Ignorer tous les sous-fichiers liés et sous-répertoires liés pendant un téléversement

    ossutil cp localfolder/ oss://examplebucket/desfolder/ -r --disable-all-symlink

Téléversement par lot de fichiers répondant à des conditions spécifiques

Utilisez --include et --exclude pour filtrer les fichiers pendant le téléversement par lot.

Les options --include et --exclude prennent en charge les formats suivants :

  • Astérisque (*) : Correspond à n'importe quel nombre de caractères. Par exemple, *.txt correspond à tous les fichiers TXT.

  • Point d'interrogation (?) : Correspond à un seul caractère. Par exemple, abc?.jpg correspond à tous les fichiers JPG dont les noms sont "abc" suivis d'un seul caractère, tels que abc1.jpg.

  • [séquence] : Correspond à n'importe quel caractère de la séquence. Par exemple, abc[1-5].jpg correspond aux fichiers nommés abc1.jpg à abc5.jpg.

  • [!séquence] : Correspond à n'importe quel caractère en dehors de la séquence. Par exemple, abc[!0-7].jpg correspond aux fichiers dont les noms ne sont pas abc0.jpg à abc7.jpg.

Une règle peut contenir plusieurs conditions include et exclude. ossutil les évalue de gauche à droite. Pour un fichier nommé test.txt, différents ordres de règles produisent des résultats différents.

  • Règle 1 : --include "*test*" --exclude "*.txt" . Lorsque la règle correspond à --include "*test*", le résultat est que test.txt répond à la condition. Lorsque la règle continue de correspondre à --exclude "*.txt", test.txt est exclu car son nom de fichier contient .txt. Le résultat final est que test.txt ne répond pas aux conditions.

  • Règle 2 : --exclude "*.txt" --include "*test*". Le fichier test.txt est exclu par la règle --exclude "*.txt". Cependant, la règle --include "*test*" inclut ensuite test.txt car son nom de fichier contient "test". Par conséquent, test.txt est inclus.

  • Règle 3 : --include "*test*" --exclude "*.txt" --include "te?t.txt" . Tout d'abord, la règle --include "*test*" inclut test.txt. Ensuite, la règle --exclude "*.txt" exclut test.txt. Enfin, la règle --include "te?t.txt" inclut test.txt. Par conséquent, test.txt est inclus.

Important

Vous ne pouvez pas spécifier un format de répertoire dans les conditions. Par exemple, --include "/usr/test/.jpg" n'est pas pris en charge.

Voici des exemples :

  • Téléverser tous les fichiers au format TXT

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --include "*.txt" -r
  • Téléverser tous les fichiers dont les noms contiennent abc et qui ne sont pas au format JPG ou TXT

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --include "*abc*" --exclude "*.jpg" --exclude "*.txt" -r

Limiter la vitesse de téléversement

Utilisez --maxupspeed pour limiter la vitesse de téléversement en Ko/s. Exemples :

  • Téléverser un fichier et définir la limite de vitesse à 1 Mo/s

    ossutil cp examplefile.txt oss://examplebucket/desfolder/ --maxupspeed 1024
  • Téléverser un dossier et définir la limite de vitesse à 1 Mo/s

    ossutil cp -r localfolder/ oss://examplebucket/desfolder/ --maxupspeed 1024

Téléverser et définir des tags d'objet

Utilisez --tagging pour définir des tags d'objet pendant le téléversement. Séparez plusieurs tags par des esperluettes (&). Exemple :

ossutil cp examplefile.txt oss://examplebucket/desfolder/ --tagging "abc=1&bcd=2&..."

Tagging d'objet.

Téléverser et spécifier une classe de stockage

Utilisez --meta pour définir la classe de stockage pendant le téléversement. Valeurs valides :

  • Standard : Standard

  • IA : Accès peu fréquent

  • Archive : Stockage d'archive

  • ColdArchive : Archive froide

  • DeepColdArchive : Archive froide profonde

Si aucune classe de stockage n'est spécifiée, l'objet hérite de la classe de stockage du bucket. Pour plus d'informations, consultez la section Types de stockage.

Voici des exemples de téléversement d'un fichier et de spécification d'une classe de stockage :

  • Téléverser un fichier unique et définir sa classe de stockage sur Accès peu fréquent

    ossutil cp examplefile.txt oss://examplebucket/desfolder/ --meta X-oss-Storage-Class:IA
  • Téléverser un dossier et définir la classe de stockage de ses fichiers sur Standard

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --meta X-oss-Storage-Class:Standard -r

Téléverser et spécifier une ACL

Utilisez --acl pour définir l'ACL du fichier téléversé. Valeurs valides :

  • default : hérite de l'ACL du bucket (par défaut)

  • private : privé

  • public-read : lecture publique

  • public-read-write : Lecture et écriture publiques

Voici des exemples :

  • Téléverser un fichier unique et définir son ACL sur privé

    ossutil cp examplefile.txt oss://examplebucket/desfolder/ --acl private
  • Téléverser un dossier et définir l'ACL de ses fichiers sur lecture publique

    ossutil cp localfolder/ oss://examplebucket/desfolder/ --acl public-read  -r

Téléverser et spécifier une méthode de chiffrement

Spécifiez une méthode de chiffrement côté serveur pendant le téléversement. Exemples :

  • Téléverser un fichier et spécifier SSE-OSS comme méthode de chiffrement et AES256 comme algorithme de chiffrement

    ossutil cp examplefile.txt oss://examplebucket/desfolder/ --meta=x-oss-server-side-encryption:AES256
  • Téléverser un fichier et spécifier SSE-KMS comme méthode de chiffrement et ne pas spécifier d'ID de CMK

    ossutil cp examplefile.txt oss://examplebucket/desfolder/ --meta=x-oss-server-side-encryption:KMS

    Le chiffrement KMS entraîne de faibles frais d'utilisation de clé. Consultez la section Tarification KMS.

  • Téléverser un fichier et spécifier SSE-KMS comme méthode de chiffrement et un ID de CMK

    ossutil cp examplefile.txt oss://examplebucket/desfolder/ --meta=x-oss-server-side-encryption:KMS#x-oss-server-side-encryption-key-id:7bd6e2fe-cd0e-483e-acb0-f4b9e1******

Pour plus d'informations sur le chiffrement côté serveur, consultez la section Chiffrement côté serveur.

Téléverser et générer des snapshots

Avec --snapshot-path, ossutil enregistre le lastModifiedTime des fichiers téléversés et l'utilise pour ignorer les fichiers inchangés lors des téléversements ultérieurs, accélérant ainsi les téléversements par lot incrémentiels. Assurez-vous qu'aucun autre utilisateur ne modifie les objets correspondants entre les téléversements. --snapshot-path est mieux adapté aux téléversements par lot volumineux. Exemple :

ossutil cp -r localfolder/ oss://examplebucket/desfolder/ --snapshot-path=path                                
Important
  • ossutil ne supprime pas automatiquement les snapshots dans le dossier snapshot-path. Supprimez périodiquement les snapshots inutiles du dossier snapshot-path.

  • Les E/S de snapshot ajoutent une surcharge. Pour les petits lots, de bonnes conditions réseau ou des objets partagés, utilisez plutôt --update pour les téléversements incrémentiels.

  • Vous pouvez utiliser les options --update et --snapshot-path en même temps. ossutil vérifie d'abord les informations snapshot-path pour déterminer s'il faut ignorer un fichier. Si le fichier n'est pas ignoré en fonction du snapshot, ossutil utilise ensuite l'option --update pour déterminer s'il faut ignorer le fichier.

Téléverser et configurer le paiement par demandeur

ossutil cp localfolder/examplefile.txt oss://examplebucket/ --payer=requester

Téléversements inter-comptes ou inter-régions

Utilisez les options courantes -e, -i et -k pour téléverser un fichier local vers un bucket dans une région différente ou sous un compte Alibaba Cloud différent.

Remarque

Spécifiez l'endpoint correspondant à la région du bucket. Pour plus d'informations, consultez la section Régions et endpoints.

ossutil cp exampleobject.txt oss://examplebucket/desfolder/ -e oss-cn-shanghai.aliyuncs.com -i yourAccessKeyID  -k yourAccessKeySecret