1

Webサイトのディレクトリ構造を別のサーバーにコピーする次のスクリプト(move_site.shと呼びます)があります

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

したがって、コマンドラインから呼び出して、webisteサイトのディレクトリ名と宛先サーバーを渡します。

nohup ./move_site.sh site1 server1 &

ただし、site1server1.outという名前の結果には、stderrメッセージ(存在する場合)のみが含まれます。

誰かが、コピーされて出力ファイルに含まれているファイル名とディレクトリ名を取得して、ある種のレコードを取得する方法を教えてもらえますか?

ありがとう。

4

1 に答える 1

2

簡単な試行: すべてがうまくいったときに、scpstdout (?) に何も出力しないことが原因かもしれません。

試してみてください: scp コマンドをスクリプトの外で実行してください。ほとんどの場合、std out には何もありません。($1$2.out には何もリダイレクトしません。まだ何もありません:))

scp では可能ではないと思いますが、rsync を使用すると、stdout に転送されたものを追跡できます。したがって、変更scp -rするrsync -r -v -e必要があります。(少なくとも、scp の代わりに rsync を使用できる場合)。

于 2013-02-17T21:24:56.547 に答える