The fsync
is a file transfer program capable of local update.
Usage:
fsync [flags] SRC DEST
Flags:
-d, --delete delete extraneous files from dest dirs
-h, --help help for fsync
-v, --verbose increase verbosity
where
SRC
is a source (file or folder) to synchronize.DEST
is a destination folder, where source file or folder should be placed.
There is a great tool named rsync
, but it might be not available (for example, Windows doesn't have it).
For sure, cwRsync can be installed and happy used.
But I'd like to have owns (even if it is much humbler featured).
- Validate
SRC
andDEST
input arguments. - Check file in
DEST
folder:- If file already exists - compare checksums of files and skip sync if equal.
- If file not exists:
- Copy
SRC
file toDEST
temporary file. - Compare checksums of files and fail if they differ.
- Rename
DEST
temporary file toDEST
file.
- Copy
go mod tidy
go mod vendor
To make a cross-build, please see available platforms:
go tool dist list
For example, for linux run this command to create a binary file for linux/amd64
architecture:
GOOS=linux GOARCH=amd64 go build
For batch build use Makefile and run:
make build
It will create builds
directory with archived binary files according to preconfigured set of platforms.
The software is provided "as is", without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose and noninfringement. in no event shall the authors or copyright holders be liable for any claim, damages or other liability, whether in an action of contract, tort or otherwise, arising from, out of or in connection with the software or the use or other dealings in the software.
If you have any ideas or inspiration for contributing the project, please create an issue or pull request.