27 lines
No EOL
1.2 KiB
Markdown
27 lines
No EOL
1.2 KiB
Markdown
# 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
|
|
|
|
| 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
|
|
|
|
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. |