0

複数のファイルをリモート サーバーにコピーする必要があります。

for database in `mysql -Bse"show databases" | grep '^us' `
do

time scp $database.gz gs://tbl_name/ &

done

&を使用してバックグラウンドでプロセスをプッシュし、スクリプトが次のファイルの処理を続行できるようにします。問題は、ネットワークの問題により、10 個のファイルのうち 1 個が転送できないことです。しかし、リターン コードを確認できないため、どのファイルが失敗したかわかりません。

4

1 に答える 1

1

特定のプロセスを待って、そこからステータスを取得できます。

cmd &
pid=$!
cmd2 &
pid2=$!
wait $pid || echo cmd failed >&2
wait $pid2 || echo cmd2 failed >&2
于 2012-07-06T15:23:35.097 に答える