Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Watcher is a daemon that watches specified files/folders for changes and fires commands in response to those changes. It is similar to incron, however, configuration uses a simpler to read ini file instead of a plain text file. Unlike incron it can also recursively monitor directories. It's also written in Python, making it easier to hack.

branch: master

This branch is 0 commits ahead and 0 commits behind master

Merge pull request #2 from umesecke/master

add support for cookie in move_from and move_to events
latest commit c5682481d2
Andreas Gohr authored
Octocat-spinner-32 LICENSE Added copyright notice (MIT)
Octocat-spinner-32 README.md Updated readme, renamed example config
Octocat-spinner-32 watcher.ini Merge pull request #2 from umesecke/master
Octocat-spinner-32 watcher.py Merge pull request #2 from umesecke/master
README.md

About Watcher

Watcher is a daemon that watches specified files/folders for changes and fires commands in response to those changes. It is similar to incron, however, configuration uses a simpler to read ini file instead of a plain text file. Unlike incron it can also recursively monitor directories.

It's written in Python, making it easier to hack.

Requirements

You need Python 2.7 and the pyinotify library.

In Ubuntu (and Debian) you can install these with:

sudo apt-get install python python-pyinotify

Configuration

See the provided watcher.ini file for an example job configuration. The config file should reside in /etc/watcher.ini or ~/.watcher.ini. You can also specify the path to the config file as a command line parameter using the --config option.

If you edit the ini file you must restart the daemon for it to reload the configuration.

Starting the Daemon

Make sure watcher.py is marked as executable:

chmod +x watcher.py

Start the daemon with:

./watcher.py start

Stop it with:

./watcher.py stop

Restart it with:

./watcher.py restart

If you don't want the daemon to fork to the background, start it with

./watcher.py debug
Something went wrong with that request. Please try again.