企业级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” YUMSITEYUM_SITE VER $ LOCAL_PATH$ VER
done

#clean lock file
/bin/rm -rf $LOCK_FILE

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

发布了5 篇原创文章 · 获赞 0 · 访问量 88
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 数字20 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览