6 stable releases
1.5.0 | Aug 17, 2020 |
---|---|
1.4.0 | Aug 13, 2020 |
1.3.2 | Jul 29, 2020 |
1.3.1 | Jul 28, 2020 |
1.2.1 | Jul 28, 2020 |
#18 in #ftp-server
24KB
407 lines
osync
Tool to synchronize in a optimized way a LOT of files to a FTP server.
Why
One day I neded to upload >500,000 files to a remote FTP server (with lftp). it was slow and tedious (as expected considering the number of files).
Sadly further uploads were really slow too. The mirroring mode of lftp wasn't really helpful considering the huge amount of directories / files involved.
That's why I have developed osync (previously ftpsync): to help user uplodad huge amount of files in a convenient way.
How
Osync use a local cache to assume the server state. Each time you upload something, it will read the cache to determinate which file has changed / has been deleted, etc... this is WAY faster than trying to determinate on the server wich file should be uploaded.
Please note that this software SET the server state using current state. If you have done upload on a computer 'A', and run the script from a computer 'B', everything will be replaced to make the server looks like 'B'.
This could be a problem depending on your use case.
How to install
You can install the latest version of osync using cargo
cargo install osync
Or with snap.
snap install osync
Dependencies
~9–18MB
~241K SLoC