搭建本地yum源并定时同步
在生产中内网的机器都是不能访问外网,所以需要搭建本地yum源。以中国科学科技大学的yum源为基准。http://mirrors.ustc.edu.cn/
有些模块会同步失败,可以wget下载至指定位置。
代码如下:
#!/bin/bash
#Script name:rsync_yumrepo.sh RsyncPerm='-avSH --delete-after --no-iconv --bwlimit=5000'
Centos_6_base='/app/YumRepo/Centos6/x86_64/Base/'
Centos_6_update='/app/YumRepo/Centos6/x86_64/update/'
Centos_6_epel='/app/YumRepo/Centos6/x86_64/Epel'
Centos_6_salt='/app/YumRepo/Centos6/x86_64/Salt'
Centos_6_docker='/app/YumRepo/Centos6/x86_64/Docker'
Centos_7_base='/app/YumRepo/Centos7/x86_64/Base/'
Centos_7_update='/app/YumRepo/Centos7/x86_64/update/'
Centos_7_epel='/app/YumRepo/Centos7/x86_64/Epel'
Centos_7_salt='/app/YumRepo/Centos7/x86_64/Salt'
Centos_7_docker='/app/YumRepo/Centos7/x86_64/Docker'
LogFile='/app/YumRepo/rsync_yum_log'
Date=`date +%Y-%m-%d` function CheckDir(){
if [ -d $ ];then
echo "$1 dir is exist,Please check it!"
else
echo "$1 dir is not exist,will create it!"
mkdir $ -p
fi
}
function CheckFile(){
if [ -e $ ];then
echo "$1 dir is exist,Please check it!"
else
echo "$1 dir is not exist,Please install on there!"
fi
}
function CheckStatus(){
if [ $? -eq ];then
echo -e "\033[1;32mRsync is success!\033[0m" >>$LogFile/$Date.log
else
echo -e "\033[1;31mRsync is fail!\033[0m" >>$LogFile/$Date.log
fi
}
CheckDir ${LogFile}
CheckDir ${Centos_6_base}
CheckDir ${Centos_6_update}
CheckDir ${Centos_6_epel}
CheckDir ${Centos_6_salt}
CheckDir ${Centos_6_docker}
CheckDir ${Centos_7_base}
CheckDir ${Centos_7_update}
CheckDir ${Centos_7_epel}
CheckDir ${Centos_7_salt}
CheckDir ${Centos_7_docker} ###rsync centos base
echo 'Now start to rsync centos 6 base!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64/ $Centos_6_base >>$LogFile/$Date.log
CheckStatus
echo 'Now start to rsync centos 7 base!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/7/os/x86_64/ $Centos_7_base >>$LogFile/$Date.log
CheckStatus ###rsync epel
echo 'Now start to rsync centos 6 epel!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/epel/6/x86_64/ $Centos_6_epel >>$LogFile/$Date.log
CheckStatus
echo 'Now start to rsync centos 7 epel!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/epel/7/x86_64/ $Centos_7_epel >>$LogFile/$Date.log
CheckStatus ###rsync salt
echo 'Now start to rsync centos 6 salt!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/salt/yum/redhat/6/x86_64/ $Centos_6_salt >>$LogFile/$Date.log
CheckStatus
echo 'Now start to rsync centos 7 salt!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/salt/yum/redhat/7/x86_64/ $Centos_7_salt >>$LogFile/$Date.log
CheckStatus ###rsync docker
#echo 'Now start to rsync centos 6 docker!' >>$LogFile/$Date.log
#rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/docker-yum/repo/centos6/ $Centos_6_docker >>$LogFile/$Date.log
#CheckStatus
echo 'Now start to rsync centos 7 docker!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/docker-ce/linux/centos/7/x86_64/stable/ $Centos_7_docker >>$LogFile/$Date.log
CheckStatus ###rsync golang
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/golang/go1.9.linux-arm64.tar.gz /app/YumRepo/golang/go1.9.linux-arm64.tar.gz
CheckStatus ###rsync centos update
echo 'Now start to rsync centos 6 update!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64/ $Centos_6_update >>$LogFile/$Date.log
CheckStatus
echo 'Now start to rsync centos 7 base!' >>$LogFile/$Date.log
rsync $RsyncPerm rsync://mirrors.ustc.edu.cn/centos/7/updates/x86_64/ $Centos_7_update >>$LogFile/$Date.log
CheckStatus
同步完成后,启用httpd服务
配置DocumentRoot "/app/YumRepo"
ServerName *:80
<Directory "/app/YumRepo/">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Dircetory>
检查语法错误httpd -t
重载配置service httpd reload
配置客户端
把/etc/yum.repo.d/目录下的所有.repo文件。mv改为*.bak
新建文件vim /etc/yum.repo.d/CentOS-Base.repo
[base]
name=Centos6 - base
baseurl=baseurl=http://HOSTADDR/Centos6/x86_64/Base
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 [updates]
name=CentOS6 - updates
baseurl=http://HOSTADDR/Centos6/x86_64/update
gpgcheck=
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
重新生成缓存
yum clean all
yum makecache
搭建本地yum源并定时同步的更多相关文章
- 使用光盘搭建本地yum源
刚装好的系统,想安装一些常用软件和一些包组的时候,就可以使用安装光盘搭建本地yum 第一步:挂载安装光盘 mount /dev/cdrom /mnt 第二步:编辑repo yum源文件 [root@l ...
- centos 搭建本地YUM源并使用apache共享YUM源
搭建本地YUM源 1.挂载镜像 2.搭建本地YUM源 删除多余repo文件保留一个就行 本地YUM源就搭建好了 yum repolist 查看yum源 3.使用apache共享YUM源 YUM服务器配 ...
- 【转载】搭建本地yum源:以下是以centos7为例子
搭建本地yum源:以下是以centos7为例子 1)首先需要安装 createrepo(需要一个可以使用源的机器,可以访问互联网)安装方法可以使用yum安装epel源 1 yum -y instal ...
- 搭建本地yum源出现:mount: 在 /dev/sr0 上找不到媒体
2021-07-27 在练习环境搭建时,因为是离线环境,故先搭建本地yum源,但是出现了一个往常没有的问题:mount: 在 /dev/sr0 上找不到媒体,参考其他博主的文章得到解决方法. 排查问题 ...
- 使用光盘无网络搭建本地yum源仓库
目录 一:使用光盘搭建本地yum源 1,按顺序搭建本地yum源 第一步 : 搭载安装光盘 第二步 : 编辑repo yum源文件 第三步 : 检查 yum makecache 注意事项: 一:使用光盘 ...
- 在linux上搭建本地yum源
准备yum仓库的光盘镜像IOS文件: 设置光驱加载本地磁盘的yum仓库的光盘镜像文件: 在linux的命令行输入setup命令打开设置窗口,选择"System Service": ...
- 搭建本地yum源
本地yum源其实非常容易搭建 首先进入/etc/yum.repos.d/ 将原来的yum源备份后移除,然后新建dvd.repo: 内容如下: [base] name=base baseurl=file ...
- 如何搭建本地yum源,阿里yum源以及自己的网络yum源?
环境:CentOS7 一.本地源的yum源的搭建 (一)添加新的yum源配置文件iso.repo(名字可以自己命名,但是后缀必须是repo结尾) 注意:目录 /etc/yum.repos.d 下的 . ...
- CentOS 7搭建本地yum源
问题 CentOS7.1安装rpm包时提示缺失包,有些包iso里面也没有,只能从外网yum,这种情况下,可以提前yum好所需的依赖包,做成一个本地yum源.将这些文件拷贝到没联网的机器就可以使用了. ...
随机推荐
- CNZZ友盟访问明细的采集办法
www.cnzz.com是中文网站统计分析平台,很多站长需要获取网站提供的访问明细,以做分析. 直接采集这个网站的数据相当麻烦,通过浏览器或者fiddlercore就简单多了. 2.0新版,通过浏览器 ...
- bug总结
1.被除数为0 2.Java 空指针异常(java.lang.NullPointerException) 即对象没有进行实例化便进行了使用.实例化的意义,就是将对象实例的地址赋值给对象符号. 比如 S ...
- python实现满二叉树递归循环
一.二叉树介绍点这片文章 二叉树及题目介绍 例题: 有一颗满二叉树,每个节点是一个开关,初始全是关闭的,小球从顶点落下, 小球每次经过开关就会把它的状态置反,这个开关为关时,小球左跑,为开时右跑.现在 ...
- 文件传输协议FTP、SFTP和SCP
网络通信协议分层 应用层: HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页) DNS(Domain Name System) FTP(File Transf ...
- 对于vue和react“页面间”传递数据的理解误区
前言 如果我们想要实现多个标签页之间的通信,可以使用localStorage.cookie等,但是能不能用vue或react呢? 结论 答案是NO,因为vue和react虽然可以在“多个”页面之间传递 ...
- 【360图书馆】插入U盘自动攻击:BadUSB原理与实现
插入U盘自动攻击:BadUSB原理与实现 漏洞背景 “BadUSB”是今年计算机安全领域的热门话题之一,该漏洞由Karsten Nohl和Jakob Lell共同发现,并在今年的Black ...
- pojo类自动生成序列化ID
自动生成序列化ID
- mvc后台可以使前台弹出警告框的几种方法
1,引用博主的 第一种方案:在jsp页面使用java代码实现. 后台处理代码:(把要提示的数据放到session中.) String message = ""; message = ...
- 在linux系统中实现各项监控的关键技术(1)--cpu使用率的计算
转载自 Linux中通过/proc/stat等文件计算Cpu使用率 http://www.blogjava.net/fjzag/articles/317773.html proc文件系统 /proc文 ...
- 网站滚动n个像素后,头部固定
//固顶 $(window).scroll(function() { var top = $(window).scrollTop(); if(top>=1200){ $(".x_men ...