企业级yum服务器自动同步公网源

现在企业基本都有内部网络禁止访问外网,对于想使用外网yum源来说比较困难,挂载DVD可能也不符合企业的需求,所以解决的办法是自建一个yum服务器,通过代理服务器,定时把需要的yum源都从公网同步到yum服务器上,这台服务器就可以提供内网机器使用。

1.找到一个rsync共享的yum源,并且代理服务器可以访问,国内比较好的就是网易镜像站,阿里镜像站,清华镜像站

mirrors.163.com
mirrors.aliyun.com
mirror.tuna.tsinghua.edu.cn

2.新建目录,保存在yum服务器

mkdir /home/centos

3.编写同步脚本,我这里是用了别人的脚本,同步一个Centos源

#!bin/bash
#web:www.simonzhang.net

#base value
#要同步的源
YUM_SITE="rsync://mirrors.163.com/centos/"
#本地存放目录
LOCAL_PATH="/home/centos/"
#需要同步的版本,我只需要5和6版本的
LOCAL_VER=" 6 6* 7 7*"
#同步时要限制的带宽
BW_limit=2048
#记录本脚本进程号
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

站点设置,把/home/centos链接到你yum源服务器的站点上,内网服务器就可以访问了
在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值