0.0.1 • Published 3 years ago

rsync-watch v0.0.1

Weekly downloads
-
License
ISC
Repository
github
Last release
3 years ago

rsync-watch

This lib was created because I needed a small helper for continuous syncing files with a remote device, where remote connection could be defined in files per project.

Installation

# globally, so you can use it from console anytime
npm i -g rsync-watch

yarn global add rsync-watch

#locally, so you can use it in project deps
npm i rsync-watch

yarn add rsync-watch

Usage

Generate empty config file in current directory under the name rsync.config.js

rsync-watch -i

Start watching

rsync-watch

Pass custom config file

rsync-watch -c /home/user/custom.config.js

Config file

Config file looks like below:

NOTE: if you want to exclude whole directory tree you need to specify **/* after it's name

module.exports = {
    source: 'source-directory', // relative to directory where config is placed
    destination: '/home/user/', // destination directory on remote or local machine
    glob: '**/*', // glob for files which should be synced
    ignore: ['node_modules/**/*'], // array of string globs which exclude files/directories
    ssh: 'user@host' // optional ssh user and host if you sync with remote location
};

Limitations

Mostly I'm running it while being in same directory as config file, so there are possible bugs with wrong cwd in other cases. Also, for now it was tested only on macOS.

Alternatives

TODO