清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
#!/bin/bash
# -------------------------------
# Revision:
# Date: 2012-12-11
# Author: simonzhang
# Email: simon-zzm@163.com
# Web: www.simonzhang.net
# -------------------------------
# base value
# 要同步的源
YUM_SITE='rsync://mirrors.sohu.com/centos/'
# 本地存放目录
LOCAL_PATH='/u01/mirrors/centos/'
# 需要同步的版本,我只需要5和6版本的
LOCAL_VER='5 5* 6 6'
# 同步时要限制的带宽
BW_limit=512
# 记录本脚本进程号
LOCK_FILE='/var/log/yum_server.pid'
# 如用系统默认rsync工具为空即可。
# 如用自己安装的rsync工具直接填写完整路径
RSYNC_PATH=''
# check update yum server pid
MY_PID=$$
if [ -f $LOCK_FILE ]; then
get_pid=`/bin/cat $LOCK_FILE`
get_system_pid=`/bin/ps -ef|grep -v grep|grep $get_pid|wc -l`
if [ $get_system_pid -eq 0] ; then
echo $MY_PID>$LOCK_FILE
else
echo 'Have update yum server now!'
exit 1
fi
else
echo $MY_PID>$LOCK_FILE
fi
# check rsync tool
if [ -z $RSYNC_PATH ]; then
RSYNC_PATH=`/usr/bin/whereis rsync|awk ' ''{print $2}'`
if [ -z $RSYNC_PATH ]; then
echo 'Not find rsync tool.'
echo 'use comm: yum install -y rsync'
fi
fi
# sync yum source
for VER in $LOCAL_VER;
do
# Check whether there are local directory
if [ ! -d "$LOCAL_PATH$VER" ] ; then
echo "Create dir $LOCAL_PATH$VER"
`/bin/mkdir -p $LOCAL_PATH$VER`
fi
# sync yum source
echo "Start sync $LOCAL_PATH$VER"
$RSYNC_PATH -avrtH --delete --bwlimit=$BW_limit --exclude "isos" $YUM_SITE$VER $LOCAL_PATH$VER
done
# clean lock file
`/bin/rm -rf $LOCK_FILE`
echo "sync end."
exit 1