我需要将几个文件复制到远程服务器。
for database in `mysql -Bse"show databases" | grep '^us' `
do
time scp $database.gz gs://tbl_name/ &
done
我使用& 在后台推送进程,以便脚本可以继续处理下一个文件。问题是由于网络问题,10个文件中有1个无法传输。但是我无法检查返回代码,因此不知道哪些文件失败了。
答案 0 :(得分:1)
您可以等待特定流程并从中获取状态:
cmd &
pid=$!
cmd2 &
pid2=$!
wait $pid || echo cmd failed >&2
wait $pid2 || echo cmd2 failed >&2