diff --git a/README.md b/README.md index e1324ab..8d83c1f 100755 --- a/README.md +++ b/README.md @@ -6,23 +6,23 @@ ## 下载链接 -当前版本:v1.0.1 +当前版本:v1.0.2 -[Linux-386](https://github.com/tencentyun/coscli/releases/download/v1.0.1/coscli-v1.0.1-linux-386) +[Linux-386](https://github.com/tencentyun/coscli/releases/download/v1.0.2/coscli-v1.0.2-linux-386) -[Linux-amd64](https://github.com/tencentyun/coscli/releases/download/v1.0.1/coscli-v1.0.1-linux-amd64) +[Linux-amd64](https://github.com/tencentyun/coscli/releases/download/v1.0.2/coscli-v1.0.2-linux-amd64) -[Linux-arm](https://github.com/tencentyun/coscli/releases/download/v1.0.1/coscli-v1.0.1-linux-arm) +[Linux-arm](https://github.com/tencentyun/coscli/releases/download/v1.0.2/coscli-v1.0.2-linux-arm) -[Linux-arm64](https://github.com/tencentyun/coscli/releases/download/v1.0.1/coscli-v1.0.1-linux-arm64) +[Linux-arm64](https://github.com/tencentyun/coscli/releases/download/v1.0.2/coscli-v1.0.2-linux-arm64) -[Mac-amd64](https://github.com/tencentyun/coscli/releases/download/v1.0.1/coscli-v1.0.1-darwin-amd64) +[Mac-amd64](https://github.com/tencentyun/coscli/releases/download/v1.0.2/coscli-v1.0.2-darwin-amd64) -[Mac-arm64](https://github.com/tencentyun/coscli/releases/download/v1.0.1/coscli-v1.0.1-darwin-arm64) +[Mac-arm64](https://github.com/tencentyun/coscli/releases/download/v1.0.2/coscli-v1.0.2-darwin-arm64) -[Windows-386](https://github.com/tencentyun/coscli/releases/download/v1.0.1/coscli-v1.0.1-windows-386.exe) +[Windows-386](https://github.com/tencentyun/coscli/releases/download/v1.0.2/coscli-v1.0.2-windows-386.exe) -[Windows-amd64](https://github.com/tencentyun/coscli/releases/download/v1.0.1/coscli-v1.0.1-windows-amd64.exe) +[Windows-amd64](https://github.com/tencentyun/coscli/releases/download/v1.0.2/coscli-v1.0.2-windows-amd64.exe) ## 使用方法 diff --git a/cmd/cp.go b/cmd/cp.go index c9157fa..b033eff 100644 --- a/cmd/cp.go +++ b/cmd/cp.go @@ -58,6 +58,7 @@ Example: disableAllSymlink, _ := cmd.Flags().GetBool("disable-all-symlink") enableSymlinkDir, _ := cmd.Flags().GetBool("enable-symlink-dir") disableCrc64, _ := cmd.Flags().GetBool("disable-crc64") + disableChecksum, _ := cmd.Flags().GetBool("disable-checksum") meta, err := util.MetaStringToHeader(metaString) if err != nil { @@ -111,6 +112,7 @@ Example: DisableAllSymlink: disableAllSymlink, EnableSymlinkDir: enableSymlinkDir, DisableCrc64: disableCrc64, + DisableChecksum: disableChecksum, }, Monitor: &util.FileProcessMonitor{}, Config: &config, @@ -254,6 +256,7 @@ func init() { cpCmd.Flags().Bool("disable-all-symlink", true, "Ignore all symbolic link subfiles and symbolic link subdirectories when uploading, not uploaded by default") cpCmd.Flags().Bool("enable-symlink-dir", false, "Upload linked subdirectories, not uploaded by default") cpCmd.Flags().Bool("disable-crc64", false, "Disable CRC64 data validation. By default, coscli enables CRC64 validation for data transfer") + cpCmd.Flags().Bool("disable-checksum", false, "Disable overall CRC64 checksum, only validate fragments") } func cosCopy(args []string, recursive bool, include string, exclude string, meta util.Meta, storageClass string) error { diff --git a/cmd/sync.go b/cmd/sync.go index 45c31b2..943041e 100644 --- a/cmd/sync.go +++ b/cmd/sync.go @@ -56,6 +56,7 @@ Example: disableAllSymlink, _ := cmd.Flags().GetBool("disable-all-symlink") enableSymlinkDir, _ := cmd.Flags().GetBool("enable-symlink-dir") disableCrc64, _ := cmd.Flags().GetBool("disable-crc64") + disableChecksum, _ := cmd.Flags().GetBool("disable-checksum") backupDir, _ := cmd.Flags().GetString("backup-dir") force, _ := cmd.Flags().GetBool("force") @@ -111,6 +112,7 @@ Example: DisableAllSymlink: disableAllSymlink, EnableSymlinkDir: enableSymlinkDir, DisableCrc64: disableCrc64, + DisableChecksum: disableChecksum, SnapshotPath: snapshotPath, Delete: delete, BackupDir: backupDir, @@ -291,6 +293,7 @@ func init() { syncCmd.Flags().Bool("disable-all-symlink", true, "Ignore all symbolic link subfiles and symbolic link subdirectories when uploading, not uploaded by default") syncCmd.Flags().Bool("enable-symlink-dir", false, "Upload linked subdirectories, not uploaded by default") syncCmd.Flags().Bool("disable-crc64", false, "Disable CRC64 data validation. By default, coscli enables CRC64 validation for data transfer") + syncCmd.Flags().Bool("disable-checksum", false, "Disable overall CRC64 checksum, only validate fragments") syncCmd.Flags().String("backup-dir", "", "Synchronize deleted file backups, used to save the destination-side files that have been deleted but do not exist on the source side.") syncCmd.Flags().Bool("force", false, "Force the operation without prompting for confirmation") } diff --git a/util/const.go b/util/const.go index 1c9bac8..f100b57 100755 --- a/util/const.go +++ b/util/const.go @@ -24,7 +24,7 @@ const ( ) const ( - Version string = "v1.0.1" + Version string = "v1.0.2" Package string = "coscli" SchemePrefix string = "cos://" CosSeparator string = "/" diff --git a/util/download.go b/util/download.go index 55b8cff..e1f69c6 100644 --- a/util/download.go +++ b/util/download.go @@ -214,10 +214,11 @@ func singleDownload(c *cos.Client, fo *FileOperations, objectInfo objectInfoType XOptionHeader: nil, XCosTrafficLimit: (int)(fo.Operation.RateLimiting * 1024 * 1024 * 8), }, - PartSize: fo.Operation.PartSize, - ThreadPoolSize: fo.Operation.ThreadNum, - CheckPoint: true, - CheckPointFile: "", + PartSize: fo.Operation.PartSize, + ThreadPoolSize: fo.Operation.ThreadNum, + CheckPoint: true, + CheckPointFile: "", + DisableChecksum: fo.Operation.DisableChecksum, } counter := &Counter{TransferSize: 0} // 未跳过则通过监听更新size(仅需要分块文件的通过sdk监听进度) diff --git a/util/types.go b/util/types.go index 9f018c4..657639b 100644 --- a/util/types.go +++ b/util/types.go @@ -89,6 +89,7 @@ type Operation struct { DisableAllSymlink bool EnableSymlinkDir bool DisableCrc64 bool + DisableChecksum bool SnapshotPath string Delete bool BackupDir string diff --git a/util/upload.go b/util/upload.go index aef5c84..0fd6936 100644 --- a/util/upload.go +++ b/util/upload.go @@ -179,9 +179,10 @@ func SingleUpload(c *cos.Client, fo *FileOperations, file fileInfoType, cosUrl S XCosTrafficLimit: (int)(fo.Operation.RateLimiting * 1024 * 1024 * 8), }, }, - PartSize: fo.Operation.PartSize, - ThreadPoolSize: fo.Operation.ThreadNum, - CheckPoint: true, + PartSize: fo.Operation.PartSize, + ThreadPoolSize: fo.Operation.ThreadNum, + CheckPoint: true, + DisableChecksum: fo.Operation.DisableChecksum, } counter := &Counter{TransferSize: 0}