Eu tenho duas sugestões:
- Substitua sua chamada para scp por uma para rsync, que é projetada para lidar com esse tipo de situação.
- Em vez de usar um loop while, basta usar um glob para chamar os arquivos diretamente. Como seu comando find está usando uma profundidade máxima de 1, você pode fazer apenas
rsync -t *.tar.gz.* username@host:/backup/
. O Rsync cuidará de verificar quais arquivos já foram copiados e a precisão desses arquivos. Ele só enviará alterações na conexão.