全部產品
Search
文件中心

Object Storage Service:sync(同步本地檔案到OSS)

更新時間:Sep 03, 2025

sync命令用於將本地檔案同步到OSS。

注意事項

  • 要將本地檔案同步到OSS,您必須具有oss:PutObject、oss:ListObjects和oss:DeleteObject許可權。具體操作,請參見為RAM使用者授予自訂的權限原則

  • sync命令與cp命令的區別

    • 通過sync命令將資料同步到OSS時,ossutil支援通過--delete選項將目的端存在而源端不存在的檔案都刪除,僅保留本次同步的檔案。cp命令不支援--delete選項。

    • sync工作方式是同時掃描源和目的端,然後再拷貝;cp工作方式是邊掃描源端,邊拷貝。

    • sync源檔案數量預設是 200W,最大是500W;cp源檔案數量無限制。

命令格式

ossutil sync file_url cloud_url

參數

類型

說明

file_url

string

待同步的本地檔案夾路徑。例如Linux系統檔案路徑/localfolder/,Windows系統檔案路徑D:\localfolder\

cloud_url

string

OSS檔案夾路徑。格式為oss://bucketname/path/。例如oss://examplebucket/exampledir/。如果輸入的cloud_url沒有以正斜線(/)結尾,ossutil會自動在結尾處添加一個正斜線(/)。

--acl

string

對象的存取權限。取值:

  • private:私人。

  • public-read:公用讀取。

  • public-read-write:公用讀寫。

  • default:繼承Bucket。

--backup-dir

string

備份檔案的目錄。

--bigfile-threshold

int

開啟大檔案分區上傳、下載或拷貝的閾值(預設值104857600)。

--cache-control

string

指定該對象被下載時網頁的緩衝行為。

--checkpoint-dir

string

斷點續傳資訊的指定目錄(預設值.ossutil_checkpoint/)。

--checksum

/

僅拷貝檔案大小和校正和(如果存在)不一致的源檔案,僅當對象間拷貝有效。

--content-disposition

string

指定對象的展示形式。

--content-encoding

string

聲明對象的編碼方式。

--content-type

string

對象的內容類型。

--copy-props

string

確定從來源物件複製哪些屬性。取值:

  • none

  • metadata

  • default

--delete

/

刪除目標中存在但源中不存在的檔案。

-d, --dirs

/

返回目前的目錄下的檔案和子目錄,而非遞迴顯示所有子目錄下的所有檔案。

--encoding-type

string

輸入的對象名或檔案名稱的編碼方式。取值:url。

--end-with

string

按字母排序,返回設定值之前的對象,包含設定值。

--exclude

stringArray

路徑或檔案名稱的排除規則。

--exclude-from

stringArray

從規則檔案裡讀取排除規則。

--expires

string

指定緩衝內容的絕對到期時間。

--files-from

stringArray

從檔案中讀取源檔案名稱列表,忽略空行或注釋行。

--files-from-raw

stringArray

從檔案中讀取源檔案名稱列表。

--filter

stringArray

路徑或檔案名稱過濾規則。

--filter-from

stringArray

從規則檔案讀取過濾規則。

-f, --force

/

強制操作,不進行詢問提示。

--include

stringArray

路徑或檔案名稱的包含規則。

--include-from

stringArray

從規則檔案裡讀取包含規則。

-j, --job

int

多檔案操作時的並發任務數(預設值3)。

--list-objects

/

使用ListObjects介面列舉對象。

--min-age

Duration

僅傳輸修改時間在指定時間間隔前的檔案,預設單位是秒,可以使用單位尾碼形式。例如 1h,表示1小時。

說明

--min-age 1h 表示僅傳輸修改時間在1小時前或更早的檔案。

--max-age

Duration

僅傳輸修改時間在指定時間間隔內的檔案,預設單位是秒,可以使用單位尾碼形式。例如 1h,表示1小時。

說明

--max-age 1h 表示僅傳輸修改時間在1小時內的檔案。

--min-mtime

Time

僅傳輸修改時間在指定時間之後的檔案,時間格式:UTC時間。例如2006-01-02T15:04:05。

說明

--min-mtime "2006-01-02T15:04:05" 表示僅傳輸在 2006 年 1 月 2 日 15:04:05 之後修改的檔案。

--max-mtime

Time

僅傳輸修改時間在指定時間之前的檔案,時間格式:UTC時間,例如 2006-01-02T15:04:05。

--max-size

SizeSuffix

限制傳輸的最大檔案大小,預設是位元組,或單位尾碼形式B|K|M|G|T|P,1K(KiB)=1024B。

--max-sync-num

int

要同步的最大檔案或對象數(預設值2000000),不大於5000000。

--metadata

strings

指定對象的使用者中繼資料,使用key=value格式。

--metadata-directive

string

指定如何設定目標對象的中繼資料。取值:

  • COPY

  • REPLACE

--metadata-exclude

stringArray

對象中繼資料的排除規則。

--metadata-filter

stringArray

對象中繼資料過濾規則。

--metadata-filter-from

stringArray

從規則檔案讀取對象中繼資料過濾規則。

--metadata-include

stringArray

對象中繼資料的包含規則。

--min-size

SizeSuffix

限制傳輸的最小檔案大小,預設是位元組,或單位尾碼形式B|K|M|G|T|P,1K(KiB)=1024B。

--no-progress

/

不顯示進度條。

--page-size

int

批量處理時分頁列舉對象的最大值(預設值1000),取值範圍1~1000。

--parallel

int

單檔案內部操作的並發任務數。

--part-size

SizeSuffix

分區大小,預設情況下根據檔案大小自行計算合適的分區大小值。取值範圍100KiB~5GiB。

-r, --recursive

/

遞迴進行操作。當指定該選項時,命令會對儲存空間下所有合格對象進行操作,否則只對路徑指定的對象進行操作。

--request-payer

string

請求的支付方式,如果為要求者付費模式,請設定該值。取值:requester。

--size-only

/

僅拷貝檔案大小不一致的源檔案。

--start-after

string

按字母排序,返回設定值之後的對象,不包含設定值。

--storage-class

string

對象的儲存類型。取值:

  • Standard:標準儲存。

  • IA:低頻儲存。

  • Archive:Archive Storage。

  • ColdArchive:冷Archive Storage。

  • DeepColdArchive:深度冷Archive Storage。

--tagging

strings

指定對象的標籤。使用key=value格式。

--tagging-directive

string

指定如何設定目標對象的標籤。取值

  • COPY

  • REPLACE

-u, --update

/

僅拷貝源檔案新於目標檔案。

--ignore-existing

/

跳過已存在的目標檔案。

說明

關於支援的全域命令列選項,請參見支援的全域命令列選項

使用樣本

  • 將本地localfolder檔案夾同步到OSS。

    ossutil sync D:/localfolder/ oss://examplebucket/destfolder/
  • 將本地localfolder檔案夾的.txt檔案同步到OSS。

    ossutil sync D:/localfolder/ oss://examplebucket/destfolder/ --include "*.txt"
  • 將本地localfolder檔案夾的非.txt檔案同步到OSS。

    ossutil sync D:/localfolder/ oss://examplebucket/destfolder/ --exclude "*.txt"
  • 同步本地檔案夾到OSS,並刪除OSS指定路徑下已存在而本地端不存在的檔案。

    通過增加--delete選項,刪除目的端存在而源端不存在的檔案,僅保留本次同步的檔案。

    ossutil sync D:/localfolder/ oss://examplebucket/destfolder/ --delete