在 GUI 中包装 rsync 进度的最佳方法?
我使用 rsync 以与服务器无关的方式将文件同步到 Windows 客户端。 有哪些方法可以将 rsync 的进度发送到父进程以在 GUI 进度条中显示?
我想存在两三个选择。 (1) 观察STDOUT (2) 观察rsync.exe日志文件,类似于unix tail
(3) 观察内存中的rsync控制台输出。
哪一个最好/首选?
I use rsync to synchronize files to Windows clients in a server agnostic way. What methods are available to send the progress of rsync to the parent process for display in a gui progress bar?
I imagine two or three choices exist. (1) Watch STDOUT (2) Watch rsync.exe log file, similar to unix tail
(3) Watch rsync console output in memory.
Which one is best/preferred?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
请查看 DeltaCopy。 它是 rsync 的 Windows GUI。
Check out DeltaCopy. It is a Windows GUI for rsync.
检查 NAsBackup 它的开源软件,它为 Windows 用户提供使用 Watch STDOUT 的 Rsync GUI。
Check NAsBackup Its open source software that give Windows user Rsync GUI using Watch STDOUT.
.NET 有一种非常直接的方式来读取和观看 STDOUT。
我想这将是最干净的方法,因为它不依赖于任何外部文件,只依赖于 rsync 的路径。 如果那里有一个包装库,我也不会太惊讶。 如果没有,请编写并开源它:)
.NET has a pretty straight forward way to read and watch STDOUT.
I guess this would be the cleanest way, since it is not dependent on any external files, just the path to rsync. I would not be too surprised if there is a wrapper library out there either. If not, write and open source it :)
我为此构建了自己的简单对象,我从中得到了很多重用,我可以用
cmdline
、web page
、webservice 包装它
,将输出写入文件等 -注释项包含一些
rsync
示例 -我有时想做的是嵌入
rsync
(和cygwin
) 到资源中 & 用它制作一个 .net 可执行文件 -如下:
I've built my own simple object for this, I get a lot of reuse out of it, I can wrap it with a
cmdline
,web page
,webservice
, write output to a file, etc---The commented items contain some
rsync
examples--what I'd like to do sometime is embed
rsync
(andcygwin
) into a resource & make a single .net executable out of it--Here you go:
对于此类任务,我使用自己的 AutoIt 脚本(免费软件,仅限 Windows)。 该脚本将标准输出重定向到图形窗口,显示它并具有向后滚动的能力等(在 XCOPY / PKZIP 等长进程中非常有用,以检查是否发生任何错误)。
我使用 AutoIt 是因为它是免费的、非常易于使用,并且可以快速编译成 .EXE。 我认为对于此类任务来说,它是完整编程语言的绝佳替代方案。 缺点是它仅适用于 Windows。
For this type of tasks, I use my own AutoIt script (freeware, Windows only). The script redirects the standard output into a graphical window, displaying it with the ability to scroll back, etc (very useful in long processes like XCOPYs / PKZIPs to check if any error did happen).
I use AutoIt because it's free, very easy to use, and can compile quickly into an .EXE. I think it's an excellent alternative to a complete programming language for this type of tasks. The downside is that it's for Windows only.