04-10-2018
Be careful with inotifywait
If processing inside the loop lasts long, you could miss events.
Try to create a 1000 files using touch and for loop in monitored directory and check if desired result is accomplished by your code.
If such events occur - creating a 1000 files in a short period, your program might not work correctly.
Handling such scenarios will require much more shell code.
There is also a slight problem of someone abusing your watch script by file creation, which can cause real requests will not be processed, unwanted email spam etc.
Hope that helps
Regards
Peasant.
9 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello
i am trying to remove a line using an input file , but this depends upon user interaction
here is the sample
#!/bin/sh
echo "Please enter whether you want to remove Profile"
read value1
if ;then
sed /movie/d temp.txt> temp3.txt
else
echo "Script didnot remove profile"
fi
... (3 Replies)
Discussion started by: ranga27
3 Replies
2. Shell Programming and Scripting
Could some one help me on this... For loop is working...!
for x in $i
do
for y in $j
do
z=`echo $y | awk '{print $2}'`
if
then
FS=`/usr/bin/echo $y`
echo $FS >>$Basic_location/out.csv
fi
done
CPRT="Cpoyright @ BTOIDCIM"
done (3 Replies)
Discussion started by: bullz26
3 Replies
3. Shell Programming and Scripting
here we go..
While loop is not working file.. It also invokes one more shell scripts for which parameters need to passed on.
while read line
do
####
#### We want to have a logfile for each load
####
PLog="${LogDir}/${Script}.log";
####
... (5 Replies)
Discussion started by: premkumardr
5 Replies
4. SCO
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)
Discussion started by: javad1_maroofi
1 Replies
5. Shell Programming and Scripting
hi everyone
i am facing a very strange problem . please help me why my while loop is not working.
below is my code
#!/bin/ksh
file=RCMC_ABC_999_080924_210813.DAR
echo ${file}
value=001
count=10
echo "abc"
echo ${count}
value=$((${value} + 1 ))
echo ${value}
while ]
do
echo... (3 Replies)
Discussion started by: aishsimplesweet
3 Replies
6. UNIX for Advanced & Expert Users
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)
Discussion started by: anil510
2 Replies
7. Shell Programming and Scripting
Hello all,
I would like to unzip some files with a for-loop.
Is there anyone who could tell me how I should do this - in a correct way?
for file in $(ls); do echo gzip -d < $file | tar xf -; done
The problem is the pipe - I believe. But how could I do it? I need it for the command... (4 Replies)
Discussion started by: API
4 Replies
8. Red Hat
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)
Discussion started by: mohtashims
9 Replies
9. UNIX for Advanced & Expert Users
Dear members, moderators and others.
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... (1 Reply)
Discussion started by: Peasant
1 Replies
LEARN ABOUT CENTOS
update
update(n) Tcl Built-In Commands update(n)
__________________________________________________________________________________________________________________________________________________
NAME
update - Process pending events and idle callbacks
SYNOPSIS
update ?idletasks?
_________________________________________________________________
DESCRIPTION
This command is used to bring the application "up to date" by entering the event loop repeatedly until all pending events (including idle
callbacks) have been processed.
If the idletasks keyword is specified as an argument to the command, then no new events or errors are processed; only idle callbacks are
invoked. This causes operations that are normally deferred, such as display updates and window layout calculations, to be performed imme-
diately.
The update idletasks command is useful in scripts where changes have been made to the application's state and you want those changes to
appear on the display immediately, rather than waiting for the script to complete. Most display updates are performed as idle callbacks,
so update idletasks will cause them to run. However, there are some kinds of updates that only happen in response to events, such as those
triggered by window size changes; these updates will not occur in update idletasks.
The update command with no options is useful in scripts where you are performing a long-running computation but you still want the applica-
tion to respond to events such as user interactions; if you occasionally call update then user input will be processed during the next
call to update.
EXAMPLE
Run computations for about a second and then finish:
set x 1000
set done 0
after 1000 set done 1
while {!$done} {
# A very silly example!
set x [expr {log($x) ** 2.8}]
# Test to see if our time-limit has been hit. This would
# also give a chance for serving network sockets and, if
# the Tk package is loaded, updating a user interface.
update
}
SEE ALSO
after(n), interp(n)
KEYWORDS
event, flush, handler, idle, update
Tcl 7.5 update(n)