Visit Our UNIX and Linux User Community


Check for a New Directory


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Check for a New Directory
# 1  
Old 08-06-2009
Check for a New Directory

Well, I know I could use a cron job to check if a new directory is made. However, I know that it won't happen like every 5 minutes and would be waste of resources. I was wondering is there a better way to check if a new directory is made in a certain folder without a cron job. I do not want it to check like every 5 minutes or so. I want it to act only when a new directory is made as I plan to run another script once this script knows that a new directory is made. Or if I could somehow know when mkdir command is run. It would helpful.

Thanks for your help.
# 2  
Old 08-06-2009
If you install the inotify-tools package you can run the inotifywait command something like this:
Code:
inotifywait -e create /home/you/somedir

It will sleep until either a file or directory is created in the specified directory and exits. You could put it in a loop and just let it run forever. You can also specify a timeout.

I never used the inotify-tools package before, but I luckily had it already installed for some reason (Fedora), and I just stumbled upon it. It looks so interesting that I think I'm going to have to think up a reason to use it.
# 3  
Old 08-07-2009
Easy solution.

Locate where is your mkdir and then (in this case /bin directory)
Code:
cd /bin
mv mkdir mkdir.real

Code:
#!/bin/sh
#mkdir my own

domylog()
{
   echo "$(date '+%Y%m%d%H%M%S') PID:$$ USER:$LOGNAME mkdir $*" 
}

/bin/mkdir.real $*
stat=$?
[ "$stat" = 0 ] && domylog $* >>mylog 2>&1  && exit 0  # ok
# some error
domylog "error" $* >>mylog 2>&1
exit $stat



---------- Post updated at 07:56 PM ---------- Previous update was at 07:55 PM ----------

Code:
chmod a+rx mkdir

But remember = some day you install system update = new mkdir ...
# 4  
Old 08-08-2009
Thanks kshji. Yea, I didn't use your method. I will probably forget and then will be like why it is not working. ^^" Considering, the upgrades will not happen regularly. So, that was an issue. :P However, maybe I can use the same trick for something else. ^^

Thanks KenJackson. Yea, that did the trick. I used -m option in the inotifywait rather than do the while loop. If you made new directories like 3 at a time then it would not work; however, -m did the trick. ^^ Plus, I was able to use it for other events too. So, it was a pretty good utility for me.

Previous Thread | Next Thread
Test Your Knowledge in Computers #419
Difficulty: Easy
Few popular modern Web browsers support JavaScript with built-in interpreters.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Directory check

How can i check in shell script if the file is coming from same directory as previous file. (3 Replies)
Discussion started by: Pratiksha Mehra
3 Replies

2. Homework & Coursework Questions

Check whether a Directory is empty or not

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: 1.pls tell me the command for checking whether a given directory is empty or not . 2. can i check what is the... (1 Reply)
Discussion started by: upvan111
1 Replies

3. Shell Programming and Scripting

How to check if something is a file, directory or other?

I want to know how you would go about checking if something is either a file or a directory. mostly for argument validation stuff. I know -d is to see if its a directory but im guessing -f is for files?? (1 Reply)
Discussion started by: Waffles
1 Replies

4. Shell Programming and Scripting

check for directory

Hi trying to read directory name and compare if exist or not,haw can I do that thanks #!/bin/bash echo -n "Enter: " read var find . -name "$var" -type f (8 Replies)
Discussion started by: lio123
8 Replies

5. Shell Programming and Scripting

Empty Directory Check

Hi All, I have a requirement to check all the files in a directory and mail non empty files Files are in csv format , i need to skip header while checking pls help Thanks (12 Replies)
Discussion started by: gwrm
12 Replies

6. Shell Programming and Scripting

check whether the directory is empty or not

I have the list of users in user.log, under each user folder there is sub1 folder is there. i want to check whether sub1 is empty or not, if it is empty i have to skip that user user folder and iterate next user folders. i have the sample code,its not giving not proper results. while read line... (8 Replies)
Discussion started by: KiranKumarKarre
8 Replies

7. UNIX for Dummies Questions & Answers

how to check for a directory

Hi, what is the command to in unix shell to find whether a particular direcory is existing or not ? example: i am now in ~/scripts directory and want to find if a direcory called 'log' exists or not from a shell scripts. can somebody please help. thanks, sateesh (3 Replies)
Discussion started by: kotasateesh
3 Replies

8. UNIX for Dummies Questions & Answers

How to check directory size

how say I have directory how can I get the directory size in mega and if it less then 1 mega so byts Thanks (4 Replies)
Discussion started by: umen
4 Replies

9. Shell Programming and Scripting

check if directory exists

Hi, I need to prompt for a response from a user to enter a path read dest_dir?"Please Enter Directory :" How do I do this until a valid directory is entered by the user. I can use to check the existence of the directory. However when I try the following I cannot get it to work. while ... (2 Replies)
Discussion started by: jerardfjay
2 Replies

10. Shell Programming and Scripting

Check directory space?

Is there some command I can use to check to see if there is 2 Gig of space available in a directory before I created a 2 Gig file? (3 Replies)
Discussion started by: lesstjm
3 Replies

Featured Tech Videos