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
10 More Discussions You Might Find Interesting
1. UNIX for Advanced & Expert Users
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
2. UNIX for Advanced & Expert Users
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
3. Red Hat
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
4. Linux
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
5. UNIX for Advanced & Expert Users
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
6. Red Hat
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
7. Shell Programming and Scripting
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
8. Shell Programming and Scripting
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
9. Red Hat
Hello
How do I restart init.d ?? (centos 6.5)
Thanks (2 Replies)
Discussion started by: mnnn
2 Replies
10. Linux
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