【发布时间】:2011-05-11 15:38:23
【问题描述】:
我想将大文件从一台计算机安全地移动到另一台计算机,在存储之前必须对其进行处理。
我想将文件通过管道传输到运行处理脚本的 ssh 中。
local.example.com$ cat file | ssh remote.example.com process.sh
(如果你有比我更好的想法,请提出建议)
在进程脚本中,我想在保存文件之前对文件进行校验和加密。问题来了。
解决方案可能有两种:
- 管道输入到两个命令(cksum 和 openssl);但我发现的所有方法看起来都很复杂且不可选。
-
破解 cksum 也可以做类似猫的工作并在 stderr 上打印结果,这样我就可以做
cksum --pipe | openssl enc > myfile并通过 stderr 取回校验和。 不幸的是,我查看了代码,如果不造成一些性能/缓冲损害,我似乎很难做到这一点;)
可能有一个 cksumming-transfering 工具可以完成这一切,但我没有想到它。 无论如何,我想避免非标准和复杂的东西。
非常感谢。
编辑:关于答案http://www.linuxjournal.com/content/shell-process-redirection的有用链接
【问题讨论】: