Could someone give me some assistance in getting this startup script to
conform to chkconfig and such where the service will start up after
networking comes up, and then shut down when networking goes away?
Where all do entries need to be made, and what would they consist of?
Many thanks.....
Sam
------------------------------------------------------------------------
#! /bin/sh
export PATH=/bin:/usr/bin
LDMHOME=/usr/local/ldm
LDMBIN=$LDMHOME/bin
LDMADMIN=$LDMBIN/ldmadmin
PQCHECK=$LDMBIN/pqcheck
PQCAT=$LDMBIN/pqcat
PQ=$LDMHOME/data/ldm.pq
LOG="logger -p local0.err $0:"
case "$1" in
start)
$LOG 'Starting LDM system...'
if [ -x $LDMADMIN ] ; then
if su - ldm -c "$LDMADMIN isrunning"; then
$LOG "LDM system is already running."
else
if [ ! -f $PQ ] ; then
$LOG "Product-queue doesn't exist. Creating..."
if ! su - ldm -c "$LDMADMIN mkqueue"; then
$LOG "Aborting..."
exit 1
fi
else
#
# Test the product-queue for corruption.
#
if ! $PQCHECK -l /dev/null -q $PQ; then
case $? in
1) $LOG "System error checking product-queue.
Aborting..."
exit 1
;;
2) $LOG "Adding writer-counter to product-queue..."
if ! $PQCHECK -F -q $PQ; then
$LOG "Aborting..."
exit 1
fi
;;
3) $LOG "Product-queue was incorrectly closed. " \
"Checking..."
if $PQCAT -s -l /dev/null; then
$LOG "Product-queue appears OK. "
$LOG "Clearing writer-counter..."
if ! $PQCHECK -F -q $PQ; then
$LOG "Couldn't clear counter. Aborting..."
exit 1
fi
else
$LOG "Product-queue appears corrupt. Deleting."
rm $PQ
if ! su - ldm -c "$LDMADMIN mkqueue -f"; then
$LOG "Couldn't make new product-queue.
Aborting..."
exit 1
fi
fi
;;
4) $LOG "Product-queue is corrupt. Deleting."
rm $PQ
if ! su - ldm -c "$LDMADMIN mkqueue -f"; then
$LOG "Couldn't make new product-queue.
Aborting..."
exit 1
fi
;;
esac
fi
fi
su - ldm -c "$LDMADMIN clean"
su - ldm -c "$LDMADMIN start"
fi
fi
;;
stop)
$LOG 'Stopping the LDM system.'
if [ -x $LDMADMIN ] ; then
su - ldm -c "$LDMADMIN stop"
fi
;;
esac
--
Sam W.Drinkard -- sam at wa4phy.net
WEB http://wa4phy.net
Augusta Mesonet
cell 706.825.8513 Home 706.868.7253
MAIL 4438 Branchwood Drive,
Martinez Georgia, 30907-1304
-------------- next part --------------
A non-text attachment was scrubbed...
Name: sam.vcf
Type: text/x-vcard
Size: 326 bytes
Desc: not available
URL:
<http://lists.centos.org/pipermail/centos/attachments/20060601/f364d9f5/attachment-0003.vcf>
On 01/06/06, Sam Drinkard <sam at wa4phy.net> wrote:> Could someone give me some assistance in getting this startup script to > conform to chkconfig and such where the service will start up after > networking comes up, and then shut down when networking goes away? > Where all do entries need to be made, and what would they consist of?On a simplistic level, just adding the chkconfig line somewhere near the top should do the job. [wmcdonald at willspc ~]$ /sbin/chkconfig --list network network 0:off 1:off 2:on 3:on 4:on 5:on 6:off [wmcdonald at willspc ~]$ grep chkconfig /etc/rc.d/init.d/network # chkconfig: 2345 10 90 So, network's starting in runlevels 2, 3, 4 & 5. It's starting with a weighting, or priority, of 10 and stopping with one of 90. If you added something like... # chkconfig: 345 20 80 # description: Does LDM stuff ... after your shabang #!/bin/sh line that should suffice. That would start your LDM script after networking in runlevels 345 and stop it before networking's stopped when hopping back down through the runleves. I can't recall if you need a "chkconfig --add ldm" but if your script's not visible in "chkconfig --list" then try it. The chkconfig man page's RUNLEVEL FILES section should have all the info you need. If you wanted to go the whole hog you could also look at integrating your startup stuff into /var/lock/subsys etc. Just have a look through an existing init script. Will.
> Could someone give me some assistance in getting this startup > script to > conform to chkconfig and such where the service will start up after > networking comes up, and then shut down when networking goes away? > Where all do entries need to be made, and what would they consist of? > > Many thanks..... > > Sam > -------------------------------------------------------------- > ---------- >man chkconfig Seriously, it has most of the info you need. If I recall a similar circumstance all I needed to do was to drop the script in /etc/init.d/ and do a chkconfig --add <name of script> and then it was ready to rock. alex
Will McDonald wrote:> > If you added something like... > > # chkconfig: 345 20 80 > # description: Does LDM stuff > > ... after your shabang #!/bin/sh line that should suffice. That would > start your LDM script after networking in runlevels 345 and stop it > before networking's stopped when hopping back down through the > runleves. > > I can't recall if you need a "chkconfig --add ldm" but if your > script's not visible in "chkconfig --list" then try it. The chkconfig > man page's RUNLEVEL FILES section should have all the info you need.Yes, you do need the "chkconfig --add ldm". This is what creates the links in the runlevel directories.> If you wanted to go the whole hog you could also look at integrating > your startup stuff into /var/lock/subsys etc. Just have a look through > an existing init script.If you want init to shutdown the service for you, you need a lock file in /var/lock/subsys with the same name as your main script. Just have the start routine touch it and the stop routine remove it. -- Bowie
Apparently Analagous Threads
- [PATCH] daemon: ldm: avoid manual free()
- [PATCH] listfs: If LDM not available, don't inhibit partition detection (RHBZ#1079182).
- [PATCH] libldm: fix enumeration of partition table entries
- [PATCH 0/1] libldm: Make libldm to parse and return volume GUID.
- [PATCH libldm v2 0/1] Make libldm to parse and return volume GUID.