2023-09-07 15:20:19 +02:00
# gosync
a simple wrapper for concurrent rsync processes written in golang
## requirements
- [rsync ](https://linux.die.net/man/1/rsync )
- [sshpass ](https://linux.die.net/man/1/sshpass )
- [nerd fonts ](https://www.nerdfonts.com )
## run
`gosync [source] [target] (options)`
### options
2023-09-22 15:50:03 +02:00
| short | long | description | default |
| ----- | ------------- | ----------------------------------------------- | ------------------- |
| -u | --user | set user for ssh / rsync | |
| -p | --password | set password for ssh / rsync | |
| -c | --concurrency | set limit for concurrent rsync processes | number of cpu cores |
| -d | --delay | set the delay between rsync connections (in ms) | 100 |
| -v | --verbose | enable verbose / debug output | |
### troubleshooting
2023-09-22 16:50:14 +02:00
**make sure to wrap your `[source]` and `[target]` in `"` to avoid problems with paths and / or globbing.**
2023-09-22 15:50:03 +02:00
if you experience errors like `kex_exchange_identification: read: Connection reset by peer` it may be helpful to increase the default delay (100ms) between rsync connections or decrease the concurrency.