centos6.5本地yum源和公网同步更新

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

引言

尽管sohu和163都推出了mirrors服务,但当要配置多台服务器时仍然需要占用很多公网带宽,因此配置一个本地yum源并时常与公网同步就显得非常有必要了。本文介绍的就是针对CentOS 6.5配置yum源,并且每日同步公网数据。每日的同步使用rsync协议。

操作步骤

1、安装rsync,yum install rsync

2、关闭防火墙service iptables stop ,chkconfig iptables off

3、修改网上一个同样应用场景的yum源同步脚本,vi centos_yum.sh,脚本位于

/etc/yum.repos.d

源码如下:

#!/bin/bash

# base value

YUM_SITE="rsync:///centos/"

#YUM_SITE="rsync:///centos/"

LOCAL_PATH="/u01/mirrors/centos/"

LOCAL_VER='6.5'

BW_limit=2048

LOCK_FILE="/var/log/yum_server.pid"

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

done

# clean lock file

`/bin/rm -rf $LOCK_FILE`

echo 'sync end.'

exit 1

4、赋予脚本执行权限,chmod 755 centos_yum.sh, 并执行./ entos_yum.sh

5、脚本放入crontab 定时运行,每天2点定时运行

crontab –e

* 2 * * * /etc/yum.repos.d/centos.yum.sh 2>&1 >/dev/null &

相关文档
最新文档