/dirsyncR

go program to sync directories on local or remote machines, golang

Primary LanguageGo

dirsyncR === . Build Status Tarvis status

hazard

This "README" document is (c) 2015 David Rook.

dirsyncR is (c) 2015 David Rook - all rights reserved. The program and related files in this repository are released under BSD 2-Clause License. License details are at the end of this document. Bugs/issues can be reported on github. Comments can be sent to hotei1352@gmail.com. "Thank you"s, constructive criticism and job offers are always welcome.

Description

dirsyncR keeps two directories upto date so the contents are identical (within the resolution of the update interval).

Why should I use it instead of rsync?

The main reason of course is that it's written in go and open source so you can modify it to suit your needs. While rsync is very powerful, the list of options is several pages long and intimidating to new users.

How does it work?

>>> Please Read This First <<<

Background Info on the problem

Installation

If you have a working go installation on a Unix-like OS:

go get github.com/hotei/dirsyncR

If you don't have go installed you can always download the git repository as a zipfile and extract it or just browse the godoc.org if you are just curious.

Configuration

Features

Usage (incl option flags)

Notes

To do

NOTE: "higher" relative priority is at top of list

  1. Added as needed (none active at the moment)

Limitations

Issues (please file on github.com)

  1. Added as needed (none active at the moment) `

Development Environment

Mint 17.1 Linux on i7/2500 mhz 8 'core' (4+4HT) HP Envy Laptop
X11/R6
gnu g++ compiler gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
go 1.5rc1

Change Log

  • 2015-08-18 built with go 1.5rc1

References

  • [go language reference] 1
  • [go standard library package docs] 2
  • [Source for dirsyncR on github] 3
  • [Go projects list(s)] 7
  • [Excellent godoc howto by Nate Finch] 8

Comments can be sent to David Rook hotei1352@gmail.com

Disclaimer

Any trademarks mentioned herein are the property of their respective owners.

License

The 'dirsyncR' go program/package and demo programs are distributed under the Simplified BSD License:

Copyright (c) 2015 David Rook. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

  2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


# Automatically Generated Documentation Follows

DO NOT EDIT BELOW - Generated by godoc2md

.

dirsyncR (c) 2015 David Rook - all rights reserved

directory replication suitable for use with cron

Usage

dirsyncR -dest="/home/mdr/bin" on the "receiver" system dirsyncR -send="/home/mdr/bin" on the "sending" system

options:

-port=8283
-verbose
usage:	dirsyncR -send="/home/mdr/bin" -port=8283
		dirsyncR -dest="/home/koor/bin" -port=8283

send (source dir) must be a full path ie. begins with slash
dest (receive dir) must be a full path
OPTIONS:
	-send="/home/mdr/bin         send this directory
	-dest="/home/koor/bin         receive to this directory
	-port=12345                  send/receive on this port
	-version                     print version info and exit
	-v                           print version info and exit
	-verbose                     use extra output detail

DO NOT EDIT ABOVE - Generated by godoc2md

github.com/hotei/dirsyncR imports

	C
	bufio
	bytes
	crypto
	crypto/md5
	crypto/sha256
	errors
	flag
	fmt
	github.com/hotei/datatable
	github.com/hotei/mdr
	hash
	hash/crc64
	internal/singleflight
	io
	io/ioutil
	log
	math
	math/rand
	net
	os
	os/exec
	path/filepath
	reflect
	regexp
	regexp/syntax
	runtime
	sort
	strconv
	strings
	sync
	sync/atomic
	syscall
	time
	unicode
	unicode/utf8
	unsafe
deadcode results:

deadcode: dirsyncR.go:42:1: ServerPort is unused
deadcode: dirsyncR.go:47:1: CmdT is unused