Ao contrário da experiência do DopeGhoti, o --bwlimit flag limita a transferência de dados, com o meu rsync (v3.1.2).
teste:
$ dd if=/dev/urandom bs=1M count=10 of=data
10+0 records in
10+0 records out
10485760 bytes (10 MB, 10 MiB) copied, 0.0871822 s, 120 MB/s
$ du -h data
10M data
$ time rsync -q data fast
0.065 seconds
$ time rsync -q --bwlimit=1M data slow
10.004 seconds
(nota: minha saída time parece diferente da maioria das invocações time ( zsh feature), esses tempos não foram editados por mim)
Mais, talvez algo na linha de um duplo -exec em find . Acredito que rsync -R deve criar & copie as pastas pai, mas se isso não acontecer, então cp --parents deve.
$ find /failing/usb -exec rsync -R {} /somewhere/safe/ \; -exec sleep 1 \;
Nota : verifique também ddrescue , pode estar certo o que procura para:)