Commit 05098227 authored by 黄大凯's avatar 黄大凯
Browse files

Update README

parent 105d8f68
Loading
Loading
Loading
Loading
+14 −2
Original line number Diff line number Diff line
# rsync2os
## rsync the remote files to your object storage

![client](https://github.com/kaikaz/rsync2os/blob/master/docs/client.jpg)

# HandShake
rysnc2os uses rsync protocol 27. It sends the arguments "--server--sender-l-p-r-t" to the remote rsyncd.

# The File List
According the arguments rsync2os sent, the file list will contain path, size, modified time & mode.
According the arguments rsync2os sent, the file list should contain path, size, modified time & mode.
 
# Request the file
rsync2os always saves the file list in its database(local file list). rsync2os doesn't compare each file with the file list from remote server(remote file list), but the latest local file list. If the file in the local file list has different size, modified time, or doesn't exist, rsync2os will download the whole file(without [block exchange](https://github.com/kristapsdz/openrsync#block-exchange)). To to do that, rsync2os sends the empty block checksum with the file's index in the remote file list. 

# Download the file
The rsync server sends the entire file as a stream of bytes.

# Multiplex & De-Multiplex

# The Generator

# How to use the demo?
1. install & run minio, you can configure in WriteOS
2. go run main.go

# Reference
* https://git.samba.org/?p=rsync.git

docs/client.drawio

0 → 100644
+1 −0
Original line number Diff line number Diff line
<mxfile version="13.1.12" type="device" host="app.diagrams.net" modified="2020-06-02T08:05:37.498Z" agent="5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18362" etag="TFvFq44QF06Np2KuGuTG"><diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">7VhLc9owEP41zLQHOsY2Bo4NkKbPmQ5NOXaErdgKstaVRYD++kqW/JDtoSFNekh6AEu7enj320+78sCbp4d3HGXJZ4gwHbhOzEk08BYD1x3JnxTkCYpgr0WOFqVIJJYgQzG+wiROhJk6Cma1Zk2icvzUndTyVYgotvZSUktwA9R+G8Q57HNLFAJjOBSWTABQQTJ7YLwjEW6JpLUr8qvc1JgTHXXfn4yN4KAFk6mrBN5y4M05gNCt9DDHVPmu9Nz6/XFNP22Ddx++5j/R9cXHb1++D/Xal+dMqbzCMRMPXjokP9Y/ZrPFcTu7/shv1x+WyBm6euk7RHfG+HvuZd4JRy2kBOIxFid2NL7NYcdDfGIDz4wTxzI41F4r0wUuEoiBIbqspRccdizCyl5H9uoxnwAyKRxJ4S0W4migRjsBUpSIlBpthapkA4YUC35UwWaCJa5E6s04pkiQO8t843vZMO4/A2WvA8UVYpGk3Rafh0nDZbVDlHX7hAi8ylDh971ku238DTBhPDOSbriIKcpz48tccNhWDFajq/PAMX6Tr465wIeGP+7ryqRxZvgmQPb1aTEqz5ejzc9yq8A5x/m9UVku+TRE6J04uScRgmdMhH4s/H9+KHn/sThpsAVFQIXif4aY5Yrg505lwuIYGXhvpW7kZoeB4u6l6rxxi3aA0qwwyvN8ZSemd1iQEHU0anTxL88UMUSUxEwvG8ogwLxSh0CBaw2PN6+cYhdprdNovbYXExyx/AZ4qqcxYNgeQCRipRWONqJQUgkU5kNpe0hYXM7mKaL2/AiHwCUQwHp22AOP7CWaW0Qkzyg6agVhlDRm3lBAomdFkCev1O2H+lDveasNCrdxEYnDlr9cf1r5yfVndXusvFaCKluxes4hVSxUdibqX0YbzoV6NUKLPil6hFUjFhdlxMg40EGjl3p4Uksg3ezyPyc0K0WpsLxEKaEqiVxVUddNeybSFibMenNfCd4iqHvfCjoP/cdNh7OedOi10uF4bOdD0/8b3k86vF9tSfa/DrEdP7ULEW/y944fdSvy6yySLKsIdZJpLwefcQ8+gY2P18Jn5D9Codgt05+6UCyLjkZxcvJm9RyLk1MGN6C4xCJM+pnycphxj5OrTYzHuEH1lYpPS4zyrPwjM57zt4RTBjewWMCeyeoxssiR61Jvl9WaVD2gGgWbW/VNTflOFrTxi/oSEfTwyJ9ZPOoQyR+/OasG6KfSuIdK5nbENrl6LA86/Vfy8u7krFCqgMuV+wp0U0HSh+OmrjOtqroAYK5vEYviHiIRI5S2RJ06WoEiS2761ihSEkUF1fqiwaZfhPKkCp5HhNjrQjxr1XiBjbA7PYWv7Nbfgwtd46O6t/wN</diagram></mxfile>
 No newline at end of file

docs/client.jpg

0 → 100644
+18.9 KiB
Loading image diff...