2013-02-17 128 views
1

我有以下脚本(我们称之为move_site.sh)是拷贝一个网站目录结构到另一个服务器bash脚本不捕获标准输出,只是标准错误

#!/bin/bash 
scp -r /usr/local/apache2/htdocs/$1 [email protected]$2:/local/htdocs 1>$1$2.out 2>&1 

所以从命令行调用它,我通过它的网站站点目录名称和目标服务器,例如:

nohup ./move_site.sh site1 server1 & 

然而,在产生的名为site1server1.out,只有标准错误的消息,如果有的话。

有人能告诉我如何获得复制的文件和目录名称,包括在输出文件中,以便我有某种记录?

谢谢。

回答

2

快速尝试: 也许是因为当一切正常时,scp不会输出任何内容到stdout(?)。

试试看:在脚本之外运行你的scp命令,很可能你没有任何东西出来。 (没有重定向到$ 1 $ 2.out,它仍然没有:))

我不认为这是可能的与SCP但rsync,你可以跟踪什么已经转移到标准输出。所以改变scp -rrsync -r -v -e应该会诀窍。 (至少如果你可以去rsync而不是scp)。

相关问题