Skip to content
This repository has been archived by the owner on Feb 11, 2022. It is now read-only.
/ osync Public archive

Tool to synchronize in a optimized way a LOT of files to a FTP server.

License

Notifications You must be signed in to change notification settings

creekorful/osync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

96 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

osync

Crates.io 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

About

Tool to synchronize in a optimized way a LOT of files to a FTP server.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages