Here’s a simple script that I setup for my development WSGI server to reload itself once changes in source code are detected:
#!/bin/bash while true; do A=`find $1 -printf '%t' | md5sum`; sleep 1 B=`find $1 -printf '%t' | md5sum`; if [ "$A" != "$B" ]; then echo "Detected change, doing: $2" eval $2 fi done
It’s very simple (a poor-man’s replacement for inotify) and doesn’t do anything complicated. Usage
./monitor.sh application "my-reload-services.sh". You can filter out unwanted stuff like maybe *.swp files by referring to the
man find pages.
What do you use to monitor for changes? How can the above script be improved?