[CentOS-mirror] cron lock file

Tue Sep 13 18:14:02 UTC 2005
Shaun <ml at ndchost.com>

A simular question was asked a while back, here was my reply...

--------------------------------------------------------------------------------------------------------
Here's my rsync script, kind of a quick write so it could be better..  One 
thing some of you might like is that the script checks to make sure that the 
process is actually running if the pid file exists.  If the pid file exists 
but the process doesnt, it clears the pid and continues...

Note: the script has be to run as root to write the pid, other wise you'll 
need to make a dir in /var/run and chown that dir, chown it to your user and 
edit the script to use that dir...

--------------[CODE]----------------
#!/bin/sh
RSYNC="/usr/bin/rsync"
RSYNC_OPTS="-aHv --delete --bwlimit=512 "

if [ -f "/var/run/mirror.pid" ]; then
   RUNPID=`cat /var/run/mirror.pid`
   if ps -p $RUNPID; then
      echo "Mirror is already running..."
      exit 1
   else
      echo "Mirror pid found but process dead, cleaning up"
      rm -f /var/run/mirror.pid
   fi
else
   echo "No Mirror Process Detected"
fi
echo $$ > /var/run/mirror.pid

echo -n "Mirror Started at "
date

#CentOS Mirror
$RSYNC $RSYNC_OPTS rsync://mirror.centos.org/cAos/centos/ 
/data/mirrors/centos/

echo -n "Mirror Ended at "
date
rm -f /var/run/mirror.pid
----------------------------------------------------------------------------------------------------------------------------------------


Best Regards,

Shaun Reitan
Account Specialist
www.NDCHost.com
www.cPlicensing.net