While working on <insert project>, a need has surfaced to watch a directory, and when a file comes, to do appropriate action.
So, i started writing some shell code, aware of linux inotify-tools package with inotifywait.
Also, i'm seeing a lot of similar request on these forums for such kind of actions.
Since linux kernel inotify subsystem is used extensively in the wild (for instance ClamAV), was sure that there was a cleaner way, not resorting to high level language programming
While surfing, i found a neat way to minimize the code used, tool called incrond
Same syntax as cron, minimal script to do action on received input.
The tool is available in EPEL repositories for CentOS, and standard ubuntu / debian ones.
So instead of monster shell code i ended up with a simple incrontab entry and a simple small shell script.
Keep it simple, stupid :
So any file which gets closed (not necessarily written to) or moved to directory being watched will be processed by script.
From documentation :
Quote:
The following wildcards may be used inside command specification:
Hopefully this will help you in your projects with same requirements and save time.
Regards
Peasant.
These 7 Users Gave Thanks to Peasant For This Post:
I wish to install inotify-tools-3.20.1-2.4.x86_64.rpm on Linux and fire inotifywait command.
Initially i was looking for "inotify-tools-3.xx.tar.gz" as instructed here http://jensd.be/248/linux/use-inotify-tools-on-centos-7-or-rhel-7-to-watch-files-and-directories-for-events
I have... (9 Replies)
I can not understand why this little script with a loop processes only one file.
At boot in /etc/rc.local i wrote:
/usr/local/bin/./myscript &
This is myscript:
#!/bin/bash
while inotifywait -e create /HOTFOLDER/ ; do
for fullname in /HOTFOLDER/*.xlsx; do
if !... (22 Replies)
I have initiated an inotify process with --fromfile option and the file contain the paths to be monitored.
/usr/local/maldetect/inotify/inotifywait -d -r -o /usr/local/maldetect/inotify/inotify_log --fromfile /usr/local/maldetect/sess/inotify.paths.28364 --exclude (^/var/tmp/mysql.sock)... (2 Replies)
ofIn a big Unix environment you likely install cron jobs like this on a thousand systems:
39 15 * * * { /usr/local/monitoring/sendstats ; } >/dev/null 2>&1If all the system clocks are synchronized (usually via NTP), these jobs run *exactly* at the same time.
If the cron job accesses a shared... (2 Replies)
A well established form of application cron jobs look like this:
39 15 * * * && /usr/local/monitoring/oracle/check_dbs.sh >/dev/null 2>&1The repetition makes it a long line, hard to read, hard to maintain.
I suggest the following instead:
39 15 * * * { /usr/local/monitoring/oracle/check_dbs.sh... (1 Reply)
Hello,
I'm just starting working on it. I'd like to get a tip
For istance if I have a file like:
a b c
d e f
....
and I wanna get:
1a & 2b & 3c
0d & 8e & 4f
.....
I would like to use sed and come up with a regular expression that works.... (3 Replies)
Hi
I'm going to write a program in C language to watch activity on file system
in SCO UNIX openserver 5.0.6.
Apparently Linux provide an API called "inotify" , I'm wondering what's the SCO UNIX package for this ? (1 Reply)
I need to use tip from machine A serial port to machine B serial port. Can someone point me to an example of the correct cable to use?
Thanks. (1 Reply)