watch-and-rsync - watch and rsync directory across system

  •        188

I work across Mac and Linux. I am neither a vim nor an emacs pro, and thus code in Mac as the Linux boxes are on demand and has only ssh access. But my run time is in Linux, :sigh: not using docker yet. So far, I have been using launchctl and .plist along with a .sh to watch a desired directory and sync it across the desired Linux system.


tildify : ^1.2.0
untildify : ^2.1.0
username : ^2.1.0
watch-and-exec : ^1.0.0
yargs : ^4.6.0



Related Projects

sshync - Auto-sync files or directories over SSH.

  •    Javascript

Auto-sync files or directories over SSH using rsync and Exclude files or directories by creating .sshyncignore in your source root (see repo root for example).


  •    DotNet

Just Another Rsync Front-end for Windows. Consists in a GUI front-end for the Rsync client functionality and a Windows service for the Rsync daemon. It is bundled with a minimum Cygwin-port of Rsync (rsync.exe, UTF8-patched cygwin1.dll and cygiconv-2.dll). The primary goal i...

gsync - gSync is an rsync based library for sending delta updates of files to a remote server.

  •    Go

A Go library implementing rsync algorithm described at and in more detail at

boto_rsync - An rsync-like utility using boto's S3 and Google Storage interfaces

  •    Python

boto-rsync is a rough adaptation of boto's s3put script which has been reengineered to more closely mimic rsync. Its goal is to provide a familiar rsync-like wrapper for boto's S3 and Google Storage interfaces. By default, the script works recursively and differences between files are checked by comparing file sizes (e.g. rsync's --recursive and --size-only options). If the file exists on the destination but its size differs from the source, then it will be overwritten (unless the -w option is used).

rsync-time-backup - Time Machine style backup with rsync.

  •    Shell

This script offers Time Machine-style backup using rsync. It creates incremental backups of files and directories to the destination of your choice. The backups are structured in a way that makes it easy to recover any file at any point in time. It works on Linux, macOS and Windows (via WSL or Cygwin). The main advantage over Time Machine is the flexibility as it can backup from/to any filesystem and works on any platform. You can also backup, for example, to a Truecrypt drive without any problem.

rsync - incremental file transfer program for Unix systems

  •    C

rsync is a file transfer program for Unix systems. rsync uses the rsync algorithm which provides a very fast method for bringing remote files into sync. It does this by sending just the differences in the files across the link, without requiring that both sets of files are present at one of the ends of the link beforehand. It can update whole directory trees and filesystems. It can use rsh, ssh or direct sockets as the transport.


  •    Java

This is a simple GUI for rsync. Unlike most other graphical interfaces for rsync which ease backing up your data with rsync, the goal of the RsyncFTP client is to behave like an FTP client and provide an easy way to replace FTP by using rsync.

docker-osx-dev - A productive development environment with Docker on OS X

  •    Shell

As of March 4, 2018, this project is no longer actively maintained. The Docker for Mac app has made significant improvements in terms of mounted volume performance and file watching, so docker-osx-dev is no longer necessary. I tried many different solutions (see Alternatives) that didn't work until I finally stumbled across one that does: rsync. With rsync, build and compilation performance in mounted folders is on par with native OS X performance and standard file watching mechanisms work properly too. However, setting it up correctly is a painful process that involves many steps, so to make life easier, I've packaged this process up in this docker-osx-dev project.

osync - A robust two way (bidirectional) file sync script based on rsync with fault tolerance, ACL support and time control

  •    Shell

A two way filesync script running on bash Linux, BSD, Android, MacOSX, Cygwin, MSYS2, Win10 bash and virtually any system supporting bash). File synchronization is bidirectional, and can be run manually, as scheduled task, or triggered on file changes in daemon mode. It is a command line tool rsync wrapper with a lot of additional features baked in. This is a quickstart guide, you can find the full documentation on the author's site.


  •    C

Perl implentation of rsync that can talk directly to a native rsync program or rsync daemon. The file system I/O is abstracted into a seperate module, which allows an rsync interface to be developed for data other than regular file systems.

rsnapshot - a tool for backing up your data using rsync (if you want to get help, use https://lists

  •    Perl

rsnapshot comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the GNU General Public Licence for details. rsnapshot is a filesystem snapshot utility based on rsync. rsnapshot makes it easy to make periodic snapshots of local machines, and remote machines over ssh. The code makes extensive use of hard links whenever possible, to greatly reduce the disk space required.

librsync -- network-delta library

  •    C

librsync is a library for calculating and applying network deltas, with an interface designed to ease integration into diverse network applications. librsync encapsulates the core algorithms of the rsync protocol, which help with efficient calculation of the differences between two files. The rsync algorithm is different from most differencing algorithms because it does not require the presence of the two files to calculate the delta. Instead, it requires a set of checksums of each block of one file, which together form a signature for that file. Blocks at any in the other file which have the same checksum are likely to be identical, and whatever remains is the difference.

Rsync Vault Manager

  •    C++

Rsync Vault Manager (rvm) is an archiving manager that uses rsync to create and maintain archives on one or more directories on seperate logical partitions (vaults).

UDR - A UDT wrapper for rsync that improves throughput of large data transfers over long distances.

  •    C++

UDR is a wrapper around rsync that enables rsync to use UDT. OpenSSL (libssl and libcrypto) Currently, UDR has mainly been tested on Linux so your mileage may vary on another OS. UDT has been well tested on all of the provided options.

clockwise - Watch face framework for Android Wear developed by ustwo

  •    Java

Clockwise is a watch face framework for Android Wear developed by ustwo. It extends the Android Wear Watch Face API and provides base classes and helpers for quickly and correctly developing watch faces. This includes properly handling the various modes of operation, hardware constraints, changes in date/time/time zone, access to data, and performance considerations. ustwo worked with Google to develop the first watch faces on the Android Wear platform, and in doing so, we learned a great deal and identified the benefit of extending the existing watch face API into an open source framework. The purpose of Clockwise is to help developers more easily consider the inherent nuances in developing watch faces on the Android Wear platform, including varying hardware specifications and battery life conservation. The goal is that by utilizing the Clockwise development framework in conjunction with the Watch Face design guidelines (co-created with ustwo), developers can enhance the user's experience on Android Wear.

middleman-deploy - Deploy a middleman built site over rsync, ftp, stfp, or git (e

  •    Ruby

Deploy your Middleman build via rsync, ftp, sftp, or git (e.g. gh-pages on github). Middleman-deploy can deploy a site via rsync, ftp, sftp, or git. Checkout the wiki for advanced set-up options.

pgbackrest - Reliable PostgreSQL Backup & Restore

  •    C

pgBackRest aims to be a simple, reliable backup and restore system that can seamlessly scale up to the largest databases and workloads. Instead of relying on traditional backup tools like tar and rsync, pgBackRest implements all backup features internally and uses a custom protocol for communicating with remote systems. Removing reliance on tar and rsync allows for better solutions to database-specific backup challenges. The custom remote protocol allows for more flexibility and limits the types of connections that are required to perform a backup which increases security.

lsyncd - Lsyncd (Live Syncing Daemon) synchronizes local directories with remote targets

  •    Lua

Lsyncd watches a local directory trees event monitor interface (inotify or fsevents). It aggregates and combines events for a few seconds and then spawns one (or more) process(es) to synchronize the changes. By default this is rsync. Lsyncd is thus a light-weight live mirror solution that is comparatively easy to install not requiring new filesystems or block devices and does not hamper local filesystem performance. Rsync+ssh is an advanced action configuration that uses a SSH to act file and directory moves directly on the target instead of re-transmitting the move destination over the wire.

duplicity - Encrypted bandwidth-efficient backup using the rsync algorithm

  •    Python

Duplicity backs directories by producing encrypted tar-format volumes and uploading them to a remote or local file server. Because duplicity uses librsync, the incremental archives are space efficient and only record the parts of files that have changed since the last backup. Because duplicity uses GnuPG to encrypt and/or sign these archives, they will be safe from spying and/or modification by the server.

deadsimple-less-watch-compiler - A nodejs script that allows you to watch a folder for changes and compile the less css files into another folder

  •    Javascript

A command that watches folders(and subfolders) for file changes and automatically compile the less css files into css. This is a file system watcher and compiler. It also keep track of a dependency tree and recompiles the parent if an imported (child) LESS file is changed. Install LESS and make sure the lessc binary is accessible to the script. Installing LESS with the -g(global) flag will make the binary accessible to your system.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.