directory:run_a_command_upon_files_or_directories_changes
This is an old revision of the document!
Directory - Run a Command Upon Files or Directories Changes
Use either inotifywait or iwatch.
For example
inotifywait -m -e modify,create -r /yourpath && \ chmod 644 file; && \ chown blah:blah file;
NOTE:
- -m, –monitor: Instead of exiting after receiving a single event, execute indefinitely. The default behavior is to exit after the first event occurs.
- -r, –recursive: Watch all sub-directories of any directories passed as arguments. Watches will be set up recursively to an unlimited depth.
- Symbolic links are not traversed. Newly created sub-directories will also be watched.
Using a BASH Script
- after-change.sh
#!/bin/bash # # Monitor the input directory and if any change occurs run the provided command: # # Usage: # after-change.sh /tmp ls -al %f if [ $# -lt 3 ]; then echo "Usage: $0 dir cmd " exit 1 fi which inotifywait 2>&1 >/dev/null if [ "$?" == "1" ]; then echo "ERROR: inotifywait not installed." exit 1 fi dir=$1 shift cmd=$1 shift files=$* inotifywait -q -r -m $dir eval $cmd
directory/run_a_command_upon_files_or_directories_changes.1611624604.txt.gz · Last modified: 2021/01/26 01:30 by peter