All Projects → markis → watchman-processor

markis / watchman-processor

Licence: MIT License
Folder synchronization tool with a simple dashboard

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to watchman-processor

unicloud
Unison file sync web interface
Stars: ✭ 40 (+5.26%)
Mutual labels:  file-sync, file-syncing
borg-import
importer for rsync+hardlink based backups / rsnapshot
Stars: ✭ 33 (-13.16%)
Mutual labels:  rsync
autorsync
Node.js File Watch + rsync
Stars: ✭ 56 (+47.37%)
Mutual labels:  rsync
vue-ioc
IoC and DI for Vue powered by InversifyJS and inspired by Angular Module syntactic sugar.
Stars: ✭ 39 (+2.63%)
Mutual labels:  inversifyjs
Login-ReactNative
Demo for creating Loign View
Stars: ✭ 13 (-65.79%)
Mutual labels:  watchman
nodejs-boilerplate
Clean Architecture for node.js projects (Typescript + Express + TypeORM + Typedi)
Stars: ✭ 199 (+423.68%)
Mutual labels:  inversifyjs
irsync
rsync on interval, via command line binary or docker container. Server and IOT builds for pull or push based device content management.
Stars: ✭ 19 (-50%)
Mutual labels:  rsync
cross-compile-godot-raspberry-pi
A script to easily cross-compile Godot binaries for the Raspberry Pi from Linux x86_64 and an extra script to easily transfer the compiled Godot binaries to the Raspberry Pi using rsync
Stars: ✭ 12 (-68.42%)
Mutual labels:  rsync
netbackup
A frontend for various backup programs (rsync, rdiff-backup, rclone) that simplifies local and remote backups.
Stars: ✭ 15 (-60.53%)
Mutual labels:  rsync
rsync
Development repository for the rsync cookbook
Stars: ✭ 25 (-34.21%)
Mutual labels:  rsync
grsync
Golang rsync wrapper
Stars: ✭ 76 (+100%)
Mutual labels:  rsync
DataBridge.NET
Configurable data bridge for permanent ETL jobs
Stars: ✭ 16 (-57.89%)
Mutual labels:  synchronizer
telephone-ts
Telephone-ts: The "Event Emitter-less" TypeScript Event Architecture.
Stars: ✭ 22 (-42.11%)
Mutual labels:  inversifyjs
rsync2ipfs-cluster
No description or website provided.
Stars: ✭ 16 (-57.89%)
Mutual labels:  rsync
NetStatus
Internet speed & offline status monitor. Upload, download, ping, latency dashboard display
Stars: ✭ 93 (+144.74%)
Mutual labels:  inversifyjs
cephgeorep
An efficient unidirectional remote backup daemon for CephFS.
Stars: ✭ 27 (-28.95%)
Mutual labels:  rsync
aws-upload
🌈 A delicious CLI tool for uploading files to ec2
Stars: ✭ 39 (+2.63%)
Mutual labels:  rsync
synchronizer-files
Synchronize local and remote filesystems
Stars: ✭ 14 (-63.16%)
Mutual labels:  synchronizer
eRCaGuy dotfiles
.bashrc file, terminal prompt that shows current git branch, Arduino setup, Eclipse setup, git diff with line numbers, helpful scripts, improved Linux productivity, etc.
Stars: ✭ 84 (+121.05%)
Mutual labels:  rsync
crsync
A library and CLI tool of Client-side rsync over HTTP via curl, implemented by pure C.
Stars: ✭ 21 (-44.74%)
Mutual labels:  rsync

Watchman-Processor

Code Climate Build Status Coverage Status Known Vulnerabilities

File synchronizer with a simplistic dashboard for Facebook's watchman file watching service

Screencapture GIF

About

Watchman-Processor can monitor a folder and synchronize file changes to another folder. The other folder could be local or remote. Watchman-Processor is simply the glue between watchman and rsync.

Installation

Install Facebook Watchman

brew update
brew install watchman

Install watchman-processor

npm install watchman-processor -g

Create configuration file

watchman-processor --init

Setup configuration file

open ~/.watchman-processor.config.js

Configuration

The following is an example .watchman-processor.config.js file with comments about the different settings available

var path = require('path');

var HOME_FOLDER = process.env[(process.platform === 'win32') ? 'USERPROFILE' : 'HOME'];
const IGNORE_FOLDERS = ['.git', 'node_modules'];

module.exports = {
  debug: false,           // changes the output to show debug information, cmd and stdout output
  syncDelete: true,       // delete extraneous files from destination
  emoji: true,            // if your terminal window can support emojis
  controlWatchman: true,  // this will tell watchman-processor to shutdown watchman, when quitting
  rsyncCmd: 'rsync',      // default: 'rsync' -- override to whatever rsync command is installed or located
  subscriptions: {
    example1: {
      type: 'rsync',      // set the subscription to rsync files from a 'source' folder to 'destination' folder

      // source folder to sync
      source: path.join(HOME_FOLDER, '/tmp/example1/'),

      // destination to sync, could be local or server location.  Any supported rsync location.
      destination: 'user@server:/tmp/example1/',

      // relative paths to ignore from watchman and rsync
      ignoreFolders: IGNORE_FOLDERS
    },
    example2: {
      type: 'rsync',
      source: path.join(HOME_FOLDER, '/tmp/example2/'),
      destination: 'user@server:/tmp/example2/',
      ignoreFolders: IGNORE_FOLDERS
    }
  }
};
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].