Git Product home page Git Product logo

fiss's Introduction

fiss, the inotify file server synchroniser

fiss monitors a directory tree and pushes changed files out to a server
after a delay. The program has two main purposes: to automate remote
backups, and to push changes to a local copy immediately to the server
during web development.

The basic usage is:
  fiss /local/path server:destpath/
By default, fiss will push a changed file if it has not changed again
for 60 seconds, or if it changed more than five minutes ago and hasn't
been synchronised since then. The -d N and -D N options change these
respectively. A value of zero will cause immediate push, which is what
you want for the web development case.

fiss supports multiple synchronisation mechanisms. The default is rsync,
and dest is passed as-is to the rsync client, and scp is available with
the --scp option. There is also the ability to trigger a custom command:
with --custom, the destination is treated as a pattern for a shell
command invocation (with system). An instance of "#p" in the pattern
will be replaced with the changed file's path.

Neither rsync nor scp supports deleting individual files, so fiss also
provides a --delete-cmd CMD option. The CMD is run with system and
subject to the same expansion as a custom command, with the following
expansions:
 #p   local file path
 #d   destination as given
 #h   part of destination before first :
 #r   part of destination after first :
Each deleted file is processed individually. The --delete option must be
passed to enable file deletion for a destination (--no-delete to
disable).

File paths can be skipped by glob patterns given with the --skip option.
Each --skip is checked with fnmatch(2) for each path, and any matches
are not processed further. The default configuration skips files that
look like editor backups, matching *~ or #*#. Use --clear-skips to erase
the list of skipped patterns.

Multiple destinations can be provided. Each inherits the settings most
recently given on the command line. Destinations may have different
timeouts, types, commands, and skip settings.

By default, fiss will fork into the background. Pass the -f option to
keep it in the foreground and output descriptive data.

fiss is distributed under the GNU GPL 3 or later (see LICENCE). It
currently depends on inotify, which probably makes it Linux-only, but it
should be possible to make it work with equivalent systems on other
platforms (patches welcome!).

fiss's People

Contributors

mwh avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.