error in init script of dnotify service


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting error in init script of dnotify service
# 1  
Old 12-14-2007
error in init script of dnotify service

fallowing code is for init script for dnotify service
# !/bin/bash
# DESCRIPTION
#Process name-dnotify
# Dnotify startup script:-
# Init/rc scripts are bash scripts used to manage services like dnotify.
# Dnotify (directory notification) is a utility for monitoring filesystem events i.e.
# Dnotify is a file system event monitor for the Linux kernel,
# A init script for dnotify provides feature for starting , stopping , getting status
# and restarting a service.


# Checkng that we are root ... so non-root users stop here
[ `id -u` = 0 ] || exit 1

#flush filesystem buffer
sync

# check for Source function library.
if [ -f /etc/rc.d/init.d/functions ]
then
. /etc/rc.d/init.d/functions
else
echo "$0: source function library doen't exit?.."
exit 1
fi

sync

#variable declaration
PATH_TO_DNOTIFY=/usr/bin/dnotify
PBS_JOBS_DIR=/usr/spool/PBS/server_priv/jobs/
COPY_COMMAND=/usr/local/bin/copyFile.sh
DIR_CP=/usr/spool/PBS/reports
PID_FILE=/var/run/dnotify.pid
LOCK_FILE=/var/lock/subsys/dnotifyd
RETVAL=0

#check for dnotify service file
# [ -x $PATH_TO_DNOTIFY ] || exit 0
if [ ! -x $PATH_TO_DNOTIFY ]
then
echo "$0:dnotify service is not present?.."
exit 1
fi

#check for PBS_JOBS_DIR directory
if [ ! -d $PBS_JOBS_DIR ]
then
echo "$0:directory to be monitored is not present?.."
exit 1
fi

#check for copy command script file
if [ ! -x $COPY_COMMAND ]
then
echo "$0:copy command script file is not present?.."
exit 1
fi


# check whether dnotify service is already started;if it is,then throw error otherwise start the service
start() {
if [ -f $LOCK_FILE -a -f $PID_FILE ]
then
echo -e "Error:dnotify is already running......"
exit 0
else
echo -e $"Starting dnotify......."
sync
#run dnotify service with create event i.e. -C directory to be monitored i.e.PBS_JOBS_DIR and execute copy command i .e. -e $COPY_COMMAND

$PATH_TO_DNOTIFY -C $PBS_JOBS_DIR -e $COPY_COMMAND &

RETVAL=$?
# creating lock file
[ $RETVAL -eq 0 ] && touch $LOCK_FILE

#add date to lock file
date > $LOCK_FILE
#add pid of dnotify to pid file
pidof dnotify > $PID_FILE
RETVAL=$?

sync

#creating test file in PBS_JOBS_DIR
[ $RETVAL -eq 0 ] && touch $PBS_JOBS_DIR/test_file11
RETVAL=$?

#taking timestamp and filename
if [ -e $PBS_JOBS_DIR/test_file11 ]
then
[ $RETVAL -eq 0 ] && q=`ls -l $PBS_JOBS_DIR/test_file11 |cut -d' ' -f7,8,9`
RETVAl=$?
[ $RETVAL -eq 0 ] && q1=`ls -l $DIR_CP/test_file11 |cut -d' ' -f7,8,9`
RETVAl=$?
fi

#comparing strings to verify whether service is functional or not
if [ "$q" = "$q1" ]
then
echo -e "dnotify service is started and is functional..."
else
echo -e "dnotify service is not functional..."
fi

#removing test file
[ -e $PBS_JOBS_DIR/test_file11 ] && rm -f $PBS_JOBS_DIR/test_file11
[ -e $DIR_CP/test_file11 ] && rm -f $DIR_CP/test_file11
sync
fi
return $RETVAL
}


#option for stopping dnotify
stop() {
#checking for lockfile nad pid file
if [ -f $LOCK_FILE -a -f $PID_FILE ]
then
echo -e "Stopping dnotify......"

#killing process i.e.stopping service
cat $PID_FILE | xargs kill -9

#stopping other dnotify process instances running
ps -aef | grep dnotify | awk '/dnotify/ {kill -9 $2}'

RETVAL=$?

#removing lockfile
[ $RETVAL -eq 0 ] && rm -f $LOCK_FILE

#removing pidfile
rm -f $PID_FILE

echo -e "dnotify service is stopped. "

return $RETVAL
else
echo -e "dnotify service is alredy stopped....."
fi
}

#option for knowing status
status () {
if [ -f $LOCK_FILE -a -f $PID_FILE ]
then
echo -e "STATUS : dnotify is running......"
echo -e "Date and time when dnotify service is started is : "
#displaying service information
cat $LOCK_FILE
echo -en "Pid of dnotify is : "
cat $PID_FILE
else
echo -e "STATUS : dnotify is not running...."
fi
exit 0
}

#Handling arguments
case "$1" in
start)#call to start function
start
;;
stop)#call to stop function
stop
;;

restart)#first call to start function and then to stop function
echo "restarting dnotify..."
stop
start
;;

status)#call to status function
status
;;

condrestart)
#This option call stop and start, but only if the service is currently running
if [ -f $LOCK_FILE ]
then
stop
start
else
echo "ERROR:check that service is running...."
fi
exit 0
;;
*)#invalid arguments passed will see this
echo $"Usage: $0 {start|stop|status|restart|condrestart}"
exit 1
esac

now i am getting error like this when i execute script with start option
Starting dnotify.......
ls: /usr/spool/PBS/reports/test_file11: No such file or directory
dnotify service is not functional...
[root@tb0 ~]# cp: cannot stat `/usr/spool/PBS/server_priv/jobs/test_file11': No such file or directory
/usr/bin/dnotify: child terminated with non-zero status
help asap
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Linux

Troubleshooting init.d script

This is what I did: 1. I wrote a simple init.d script (myscript.sh) 2. I placed it under /etc/init.d (where many other default scripts already are) 3. Set the perms to 755 4. Run: update-rc.d myscript.sh defaults I can run it perfectly by doing: /etc/init.d/myscript.sh start... (2 Replies)
Discussion started by: rlopes
2 Replies

2. Red Hat

Restart service xinit.d or init.d ?

Hello How do I restart init.d ?? (centos 6.5) Thanks (2 Replies)
Discussion started by: mnnn
2 Replies

3. Shell Programming and Scripting

Start up init d script

Hi All, I'm trying to build a start up script, wud be gr8 if any one can explain what the below field means and how can i check it for my script. DAEMON_PATH="/home/wes/Development/projects/myapp" DAEMON=myapp DAEMONOPTS="-my opts" NAME=myapp DESC="My daemon description"... (4 Replies)
Discussion started by: Karthick N
4 Replies

4. Shell Programming and Scripting

INIT Script Getting Executed Twice?

Hello All, I copied and pasted the "/etc/init.d/skeleton" file to a new one so I could create my own init script for a program. Basically the ONLY edit I made to the skeleton "template" so far was to search and replace "FOO" with "snort". *NOTE: I know there are a bunch of snort init scripts... (6 Replies)
Discussion started by: mrm5102
6 Replies

5. Red Hat

init-script failing because of /etc/rc.d/init.d/functions

I encountered a problem on one of our database servers. OS: CentOS 5.5 final Kernel: 2.6.18-238.5.1.el5.028stab085.2 (OpenVZ kernel) We wrote some DB-Start/Stop-scripts ("/db2/admin/scripts_dba/start_services.ksh" and ".../stop_services.ksh") to start the database instances. (Database... (1 Reply)
Discussion started by: bakunin
1 Replies

6. UNIX for Advanced & Expert Users

Problem on init 0, execution is the same with init 6

Hi, I am experiencing a weird thing on my SUNFIRE machine with Solaris 9 OS. When I do init 0 to shutdown the machine to go to ok prompt, what it did was shutdown and reboot like an init 6 command do. I did check the corresponding rc scripts that were involved with init 0 and compared with rc... (2 Replies)
Discussion started by: Yenthanh
2 Replies

7. Linux

How to I change init levels after typing init 1

Dear all, I typed in init 1 on my redhat box as root and according to wikipedia (http://en.wikipedia.org/wiki/Runlevel): 1 Single-User Mode Does not configure network interfaces, start daemons, or allow non-root logins So now I can't connect back to it. How do I change the init back to 3?... (8 Replies)
Discussion started by: z1dane
8 Replies

8. Red Hat

error : kernel panic: No init found

helo, my system is runing on redhat 9.0. but now when i run my machine i got the following error. Kernel Panic:No init found. try passing init = option to kernel. i dont have any idea about linux administration. can u help me to solve this error Thanks and Regards,... (2 Replies)
Discussion started by: amitpansuria
2 Replies

9. UNIX for Advanced & Expert Users

Init 6 & Init 0 problem

Hi Expert, I have encountered some problem with my SUN system. Everytime when i issue command #init 6 OR #init 0 it just logout and prompt for login again instead of rebooting the server when run init 6 and system shutdown when run init 0.. I can only reboot the system using reboot ... Was... (6 Replies)
Discussion started by: sc2005
6 Replies

10. UNIX for Advanced & Expert Users

creating a service in init.d

Hai Friends I have written a DayTime server program using C socket.. I need to start the service automatically. My service directory is /etc/rc.d/init.d... my service name is DayTime present in /home/codebase/datetime/ directory.. Please help me :confused: :confused: :confused: Thanks in... (2 Replies)
Discussion started by: collins
2 Replies
Login or Register to Ask a Question