Directory symlinker and content syncer.
Go Shell
Latest commit 188bbe9 Nov 23, 2014 @wor Updated TODO
Permalink
Failed to load latest commit information.
archlinux_pkg conf: added example conf.d script Aug 1, 2012
conf conf: added info about /var/log sync problems with systemd Oct 24, 2012
doc docs: update man page Aug 27, 2012
misc build: added license header for deb package Jul 26, 2012
script Arch Linux rc.d script is now under autoconf Aug 1, 2012
src/goanysync Fix confusing log message Aug 27, 2012
COPYING Added copyrights to source files Jul 11, 2012
Makefile.in
README.md README: updated download links Jul 30, 2012
TODO Updated TODO Nov 23, 2014
autogen.sh build: removed bashism from autogen.sh Jul 24, 2012
changelog.md Added changelog Aug 27, 2012
configure.ac Update version for preparation for a new release Aug 24, 2012

README.md

goanysync

goanysync is a relatively small program to replace given directories in HDD/SSD with symlinks to tmpfs and to sync this tmpfs contents back to HDD/SSD. It is a rewrite of "anything-sync-daemon" with go programming language (see:Anything-sync-daemon).

Two main use cases are reducing wear on SSD and speeding up programs by moving their data directories to tmpfs.

Motivation

goanysync began as fork of anything-sync-daemon (by graysky), but is now basically a complete rewrite and only the documentation and functionality still bares resemblance to asd. Rewrote was mainly inspired by permission problems with symlinked dirs and by the original programs bash code which, for example, contained this line: [[ -d "$VOLATILE$i" ]] || mkdir -p "$VOLATILE$i" || "install -Dm755 $VOLATILE$i"

Run dependencies

  • rsync

Build dependencies

  • autoconf
  • automake
  • libtool
  • go (golang)
  • gzip
  • txt2man

Build and install (git)

./autogen.sh
make
make install

Alternatively for Arch Linux an aur package is provided: https://aur.archlinux.org/packages.php?ID=60715

Build and install (source package)

./configure
make
make install

Source package for the most recent tagged version is located at goanysync downloads

Also for Arch Linux an aur package is provided: https://aur.archlinux.org/packages.php?ID=61269

Debian package

Also a Debian package is provided for the most recent tagged version: goanysync downloads

The package was build on Ubuntu 12.04. Recent .deb package can always be build from goanysync git source using commands:

./autogen.sh
make deb

The automatically generated package definitely is not up to packaging standards but should be good enough for testing and basis for a proper package.

Usage

Just edit installed (default location) /etc/goanysync.conf to suit your needs and call:

goanysync start

And remember to call:

goanysync stop

Before booting.

Daemon scripts to do above automatically are provided for Archlinux rc.d, systemd and upstart systems.