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

Best Regards,
 
Shaun Reitan
Account Specialist
www.NDCHost.com
www.cPlicensing.net