【问题标题】:rsync progress doesn't work as expectedrsync 进度未按预期工作
【发布时间】:2012-04-06 03:39:30
【问题描述】:

我正在使用

system('rsync --progress ssh '.$localZip.' user@server:'.$remoteZip);

它开始说“filename.zip”,但后来我的页面只是一遍又一遍地说加载,然后突然在最后它吐出所有的进度数据。它不应该在运行时吐出这些数据吗?这是一个 89MB 的文件。

【问题讨论】:

  • 您是从控制台还是从网页运行它?您是否尝试过刷新输出?
  • 是的,下一行是flush(); ...我正在通过 php 中的网页运行它
  • 最初我只使用 scp,但由于它们是相当大的文件,我想要某种进度条,而我在网上阅读的 rsync 是为了给我...我真的不太了解运行 shell 命令,所以我希望这里的人能够告诉我我是否想要一些不可能的东西,或者我在我的命令中做错了什么
  • 您需要在 rsync 仍在运行时反复刷新输出。这在php中可能吗?
  • 我试过这样的东西 $output = system('rsync --progress ssh '.$localZip.' user@server:'.$remoteZip);而($输出){刷新(); };但这没有用。

标签: php shell ssh rsync


【解决方案1】:

查看ob_flush() 而不是普通的flush(),因为后者在浏览器中无效。

【讨论】:

  • 试试 ob_flush() ,我仍然得到相同的结果。我在手册中读到你必须先调用 ob_get_contents() ......也试过了,但没有用。这对我来说是全新的领域,所以我不知道该怎么办
  • 我刚刚看到这篇文章stackoverflow.com/questions/1281140/…,但它似乎对我也不起作用......只显示正在传输的文件,然后在结束时立即显示所有进度转移。
猜你喜欢
  • 1970-01-01
  • 2014-04-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-04
相关资源
最近更新 更多