2024-06-27 09:25:48 -07:00
# fpsync
> Execute several synchronization processes locally or on several remote workers through SSH.
2025-05-04 10:20:26 +03:00
> More information: <https://manned.org/fpsync>.
2024-06-27 09:25:48 -07:00
- Recursively synchronize a directory to another location:
2025-08-16 12:54:02 +03:00
`fpsync -v /{{path/to/source}}/ /{{path/to/destination}}/`
2024-06-27 09:25:48 -07:00
- Recursively synchronize a directory with the final pass (It enables rsync's `--delete` option with each synchronization job):
2025-08-16 12:54:02 +03:00
`fpsync -v -E /{{path/to/source}}/ /{{path/to/destination}}/`
2024-06-27 09:25:48 -07:00
- Recursively synchronize a directory to a destination using 8 concurrent synchronization jobs:
2025-08-16 12:54:02 +03:00
`fpsync -v -n 8 -E /{{path/to/source}}/ /{{path/to/destination}}/`
2024-06-27 09:25:48 -07:00
- Recursively synchronize a directory to a destination using 8 concurrent synchronization jobs spread over two remote workers (machine1 and machine2):
2025-08-16 12:54:02 +03:00
`fpsync -v -n 8 -E -w login@machine1 -w login@machine2 -d /{{path/to/shared/directory}} /{{path/to/source}}/ /{{path/to/destination}}/`
2024-06-27 09:25:48 -07:00
- Recursively synchronize a directory to a destination using 4 local workers, each one transferring at most 1000 files and 100 MB per synchronization job:
2025-08-16 12:54:02 +03:00
`fpsync -v -n 4 -f 1000 -s $((100 * 1024 * 1024)) /{{path/to/source}}/ /{{path/to/destination}}/`
2024-06-27 09:25:48 -07:00
2025-05-04 05:15:17 +03:00
- Recursively synchronize any directories but exclude specific `.snapshot*` files (Note: Options and values must be separated by a pipe character):
2024-06-27 09:25:48 -07:00
2025-08-16 12:54:02 +03:00
`fpsync -v -O "-x|.snapshot*" /{{path/to/source}}/ /{{path/to/destination}}/`