Fandom

WikiHashtags

Pirsyncd

734pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

pirsyncd stands for: Python Inotify Rsync Daemon.

This is an attempt of writing a daemon to watch a directory for kernel’s inotify events and then execute an rsync command to synchronize two different directories (local or remote). This is a poor man’s mirroring or an alternative (not so) real data replication mechanism and it is based on Pyinotify.


Features: Some of the features of the pirsyncd:

  • There is no need of installation!
  • Run as a Daemon
  • Can run as a Daemon in foreground
  • Simple Configuration, you only have to configure your source and destination directories
  • Configuration Check at the begging
  • Ability to check and stop the daemon
  • Syntax help with ––help
  • For every parameter there is a usage examples with ––examples
  • Support multiple running instances
  • Mirroring to a remote (destination) server (needs password-less connection) through ssh connection
  • Mirroring to a remote (destination) server (needs rsync password-file) through rsync connection
  • Error handling via exceptions
  • A customized delay for mirroring directories (dont rsync asap when an event is trigged)
  • Gets arguments from command line - there is no need of hack the code.
  • Synchronization at start (mirroring via rsync) - first run
  • Definition of rsync version from command line
  • Logging functionality of rsync process
  • Partial rsync functionality
  • Append rsync functionality
  • Functionality to exclude files larger than MAX-SIZE or smaller than MIN-SIZE
  • Debugging pyinotify events
  • Debugging rsync command
  • Autolearning new subdirectories
  • Rsync & Pyinotify exclude pattern
  • Resolving duplicates inode events for multiple files/events
  • You can rsync every n (NUMBER) inode events (simple delay method)
  • Supports python3 with pirsyncd.Py3k
  • Pyinotify version 0.9.0 (20100604)
  • Clean code and python code styling using pylint
  • 7.50 with pylint (previous 7.38) !
  • Lines of code (has a lot of comments !) and it is written on KISS principle egrep -vc '#|^$' pirsyncd
      407

pirsyncd monitors for these inotify events:

  • IN_ATTRIB
  • IN_CLOSE_WRITE
  • IN_CREATE
  • IN_DELETE
  • IN_MODIFY
  • IN_MOVED_TO
  • IN_MOVED_FROM
  • IN_DELETE_SELF

Also on Fandom

Random Wiki