У меня есть скрипт, который параллельно пересылает файлы rsync, используя режимы демонов xargs и rsync. Я иногда получаю ошибки с rsync из-за записей, происходящих в источнике. Я хочу иметь возможность повторить rsync, если есть какие-либо ошибки. Я думал, что это сработает, но наличие точки с запятой, кажется, сломает это. Есть ли другой способ сделать это?
find ./path -mindepth 1 -maxdepth 1 -type d | xargs -r -t -n 1 -P 4 -I % until rsync -am %/ $host::%/; do echo "TRY AGAIN"; done
./rsync_retry.sh: line 21: syntax error near unexpected token `do'