运行 带有 gsutil cp 到 GCP 的 powershell 脚本显示多行上传进度
Running powershell script with gsutil cp to GCP shows upload progress on multiple lines
我有一个简单的 powershell 脚本,它 运行 来自我的 Win'2008R2 系统上的任务计划程序,基本上只是 运行 以下命令:
gsutil -o GSUtil:parallel_composite_upload_component_size=0 cp -L
C:\logs\log1.txt C:\archive\*.zip gs://temp
我正在使用 Start-Transcript 将输出记录到 results.log 文件。问题是,当它将 zip 文件上传到 gcp 时,它会在上传过程中每 64KB 后在多行上记录进度:
Resuming upload for file://E:\db\db1.zip
Uploading gs://temp/db1.zip: 0 B/1.20 GiB
Uploading gs://temp/db1.zip: 98.75 MiB/1.20
Uploading gs://temp/db1.zip: 98.81 MiB/1.20
...and keeps repeating this until it uploads the entire 1.20 GB.
由于 results.log 文件随后会通过电子邮件发送给一群人,所以我不需要他们看到所有这些垃圾。只显示其中一行和最终文件大小就足够了。
当我 运行 来自 windows 命令提示符(或来自本机 powershell)的命令或脚本时,使用:powershell.exe -file c:\scripts\upload.ps1 然后它按预期工作,在一行上显示进度:
Resuming upload for file://E:\db\db1.zip
Uploading gs://temp/db1.zip: 1.20 GiB/1.20 GiB
之前,当我在 运行 中使用不带“-o GSUtil:parallel_composite_upload_component_size=0”参数的相同命令时,它向我显示了相同的长输出,但是一旦我将其添加到 gsutil,我想这很好,因为它不再在 PS 命令提示符中的一堆行上重复进度。所以只有当我 运行 来自 Task Scheduler 的脚本时才会发生。
知道为什么会这样吗?我该如何解决这个问题?
有 an open feature request in the gsutil repository, issue #481,用于在输出指向非交互式终端时禁用进度微调器。
我有一个简单的 powershell 脚本,它 运行 来自我的 Win'2008R2 系统上的任务计划程序,基本上只是 运行 以下命令:
gsutil -o GSUtil:parallel_composite_upload_component_size=0 cp -L C:\logs\log1.txt C:\archive\*.zip gs://temp
我正在使用 Start-Transcript 将输出记录到 results.log 文件。问题是,当它将 zip 文件上传到 gcp 时,它会在上传过程中每 64KB 后在多行上记录进度:
Resuming upload for file://E:\db\db1.zip
Uploading gs://temp/db1.zip: 0 B/1.20 GiB
Uploading gs://temp/db1.zip: 98.75 MiB/1.20
Uploading gs://temp/db1.zip: 98.81 MiB/1.20
...and keeps repeating this until it uploads the entire 1.20 GB.
由于 results.log 文件随后会通过电子邮件发送给一群人,所以我不需要他们看到所有这些垃圾。只显示其中一行和最终文件大小就足够了。
当我 运行 来自 windows 命令提示符(或来自本机 powershell)的命令或脚本时,使用:powershell.exe -file c:\scripts\upload.ps1 然后它按预期工作,在一行上显示进度:
Resuming upload for file://E:\db\db1.zip
Uploading gs://temp/db1.zip: 1.20 GiB/1.20 GiB
之前,当我在 运行 中使用不带“-o GSUtil:parallel_composite_upload_component_size=0”参数的相同命令时,它向我显示了相同的长输出,但是一旦我将其添加到 gsutil,我想这很好,因为它不再在 PS 命令提示符中的一堆行上重复进度。所以只有当我 运行 来自 Task Scheduler 的脚本时才会发生。
知道为什么会这样吗?我该如何解决这个问题?
有 an open feature request in the gsutil repository, issue #481,用于在输出指向非交互式终端时禁用进度微调器。