1

我有以下脚本(我们称之为 move_site.sh)将网站目录结构复制到另一台服务器

#!/bin/bash
scp -r /usr/local/apache2/htdocs/$1 http@$2:/local/htdocs 1>$1$2.out 2>&1

所以从命令行调用它,我将网站目录名称和目标服务器传递给它:

nohup ./move_site.sh site1 server1 &

但是,在名为 site1server1.out 的结果中,只有 stderr 消息(如果有)。

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

谢谢。

4

1 回答 1

2

快速尝试:也许是因为当一切顺利时,scp没有将任何内容打印到标准输出(?)。

试一试:在脚本之外运行你的 scp 命令,很可能你在标准输出上没有任何东西。(什么都不重定向到 $1$2.out,它仍然什么都不是 :))

我认为 scp 不可能,但使用 rsync 您可以跟踪已传输到标准输出的内容。所以改变应该scp -rrsync -r -v -e诀窍。(至少如果你可以选择 rsync 而不是 scp)。

于 2013-02-17T21:24:56.547 回答